我尝试通过POST方法从服务器获取数据。
这是我的代码:
AFHTTPClient *httpClient = [AFHTTPClient clientWithBaseURL:[NSURL URLWithString:@"http://localhost:8080"]];
httpClient.operationQueue.maxConcurrentOperationCount = 1;
NSDictionary *jsonDict = [NSDictionary dictionaryWithObjectsAndKeys:
@"1", @"identity",
@"3", @"priority",
@"false", @"clearBadge",
@"1", @"pushNotificationID",
nil];
NSMutableURLRequest *signInRequest = [httpClient requestWithMethod:@"POST" path:@"/.../push/update" parameters:jsonDict];
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:jsonDict options:NSJSONWritingPrettyPrinted error:nil];
[signInRequest setHTTPBody: jsonData];
[signInRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
signInRequest.timeoutInterval = 15.0;
signInRequest.cachePolicy = NSURLRequestReloadIgnoringLocalAndRemoteCacheData;
AFJSONRequestOperation *signInOperation = [AFJSONRequestOperation JSONRequestOperationWithRequest:signInRequest success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON)
{
NSLog(@"%@", JSON);
}
failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON)
{
NSLog(@"%@", [error userInfo]);
}];
[httpClient enqueueHTTPRequestOperation:signInOperation];
在模拟器中,我得到了我的数据,一切正常。 但是当我在设备上运行它时,我收到此错误消息:
2013-07-17 11:27:43.760 PushApp[11871:907] {
NSErrorFailingURLKey = "http://localhost:8080/.../push/update";
NSErrorFailingURLStringKey = "http://localhost:8080/.../push/update";
NSLocalizedDescription = "Could not connect to the server.";
NSUnderlyingError = "Error Domain=kCFErrorDomainCFNetwork Code=-1004 \"Could not connect to the server.\" UserInfo=0x1e8351b0 {NSErrorFailingURLKey=http://localhost:8080/.../push/update, NSErrorFailingURLStringKey=http://localhost:8080/.../push/update, NSLocalizedDescription=Could not connect to the server.}";}
任何想法?
答案 0 :(得分:0)
您已连接到localhost:8080
,因此必须在您的桌面上运行一些服务器'正在处理这些请求的机器。设备上的情况并非如此(除非您已做过某些事情以使其成为现实)。
您可能想要做的是将韧性网址更改为您桌面的IP地址'机器并确保您的设备连接到同一网络。