2014-05-14 5 views
1

작동하지 않습니다이 항상 -1004과 오류 (서버에 연결할 수 없습니다) 하지만 브라우저에서 요청이 제대로 작동합니다. 내 코드에 어떤 문제가 있습니까?AFNetworking GET 요청이

(url : "http://localhost:3000/v1/voice/version?appname=wevoice") 


AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 

manager.responseSerializer = [AFJSONResponseSerializer serializer]; 

[manager GET:@"http://localhost:3000/v1/voice/version" 
    parameters:@{ @"appname": @"wevoice" } 
    success:^(AFHTTPRequestOperation *operation, id responseObject) { 
    NSLog(@"JSON: %@", responseObject); 
} 
    failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
    NSLog(@"Error: %@", error); 
}]; 
+1

'localhost' 앱이 실행되는 시스템을 말한다. iOS 기기 또는 시뮬레이터에서이 기능을 실행하고 있습니까? 어떤 장치에 연결하려고합니까? – rmaddy

+0

네, 맞습니다!. – breaklee

답변

1

당신은 귀하의 요청 관리자에 재산 baseURL을 설정해야합니다. 당신이 원하는 경우 즉,

[self.requestManager GET:@"/v1/voice/version" 
    parameters:@{ @"appname": @"wevoice" } 
    success:^(AFHTTPRequestOperation *operation, id responseObject) { 
    NSLog(@"JSON: %@", responseObject); 
} 
failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
    NSLog(@"Error: %@", error); 
}]; 

그리고 명심 :

self.requestManager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:http://localhost:3000]; 

나중에는 관리자로 콘크리트 GET 메시지에, 당신은 단지 상대 URL 경로를 통과 할 수 있습니다 예를 들면 다음과 같습니다 JSON로 paramters을 보내, 당신은 요청 시리얼 라이저가 필요합니다

self.requestManager.requestSerializer = [AFJSONRequestSerializer serializer]; 
+0

예 동일한 오류입니다. – breaklee

+2

NSURLErrorCannotConnectToHost (-1004) 오류이므로 서버가 실행 중이고 시뮬레이터에서 연결할 수 있는지 확인하십시오 (로컬 호스트는 장치에서 작동하지 않을 것입니다) – Alexander

+1

ah yes !!!! ;에이; 내 장치에서 실행 하는게 내 잘못이야 !! – breaklee

0
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 

NSMutableDictionary *dic = [NSMutableDictionary dictionary]; 
[dic setObject:@"wevoice" forKey:@"appname"]; 

[manager GET:@"http://localhost:3000/v1/voice/version" 
    parameters:dic 
    success:^(AFHTTPRequestOperation *operation, id responseObject) { 
     NSLog(@"JSON: %@", responseObject); 
    } 
    failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
     NSLog(@"Error: %@", error); 
    }]; 

당신은 파를 추가하는 방식이 될 this.May 시도 할 수 있습니다 ameter가 잘못되었습니다.

+0

예 동일한 오류입니다. 내 요청이 localhost 서버에 도달하지 않습니다. – breaklee

+0

@breaklee 로컬 서버의 문제라고 생각합니다. 서버를 확인해야합니다. – Dracuuula

0

이 방법을 시도해보십시오. 희망이 도움이됩니다.

+ (void)getRequestWithURLStringWithSuccess:(void(^)(id object))successBlock andFail:(void(^)(NSString *errorMessage))failBlock { 

AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc]initWithBaseURL:[NSURL URLWithString:@"http://localhost:3000/v1/voice/version"]]; 

NSString *urlString = @"/version"; 

[manager GET:urlString parameters:@{ @"appname": @"wevoice" } success:^(AFHTTPRequestOperation *operation, id responseObject) 
{ 
    NSLog(@"JSON: %@", responseObject); 

} failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
    NSLog(@"Error: %@", error); 

}]; 

}

+0

같은 오류입니다. – breaklee

관련 문제