【问题标题】:POST with AFNetworking, error code -1001使用 AFNetworking 发布,错误代码 -1001
【发布时间】:2013-08-28 10:02:29
【问题描述】:

我想发布一条 json 消息以发送到服务器。我无权访问服务器本身,但我知道它正在工作并设置为在消息通过时返回成功/失败消息。服务器需要应用 ID 和密码才能连接

我为此使用 AFNetworking。这是我正在使用的代码:

NSURL* pushServerURL = [NSURL URLWithString: @"http://myserverurl.com/"];
AFHTTPClient* networkInstance = [[AFHTTPClient alloc] initWithBaseURL: pushServerURL];

NSDictionary *parameters =[NSDictionary dictionaryWithObjectsAndKeys:
                           @"myappid", @"app_id", @"mypassword", @"password", nil];

NSDictionary *params =[NSDictionary dictionaryWithObjectsAndKeys:
                       parameters, @"user", nil];

[networkInstance postPath: @"users/login.json"
               parameters: params
                  success:^
 (AFHTTPRequestOperation *operation, id jsonResponse)
{
    NSLog (@"SUCCESS");
}
                  failure:^
(AFHTTPRequestOperation *operation, NSError *error)
{
    NSLog(@"FAILED");
}];

它总是失败,错误代码为 -1001。

NSError 在用户信息中有 4 个键

NSErrorFailingURLStringKey with value @"http://myserverurl.com/, 
NSErrorFailingURLKey with value <not an Objective-C object>, 
NSLocalizedDescription with value "The request timed out"
NSUnderlyingError and the value has no string.

知道我做错了什么吗?

【问题讨论】:

  • -1001 通常表示请求超时。您的网络工作正常吗?
  • 我们有没有机会得到错误代码附带的错误描述?那么尝试与原生 NSURLConnection 相同呢?
  • 网络应该工作正常。其他几个应用程序目前正在使用它并正常工作。我不知道如何使用 NSURLConnection,我对这个网络编程的东西完全不在我的舒适区。该错误返回了 4 个键,其中 NSErrorFailingURLStringKey 的值为 myurl,NSErrorFailingURLKey 的值为 ,NSLocalizedDescription 的值为“请求超时”和 NSUnderlyingError,并且该值没有字符串。我将更新问题以包含这些错误字符串。
  • 您已经在更新的帖子中描述了错误:the request timed out。您尝试发布的 URL 很可能无法访问。尝试使用 Safari 访问它。如果它响应 GET 请求,该实验应该会显示连接错误。否则,如果连接正常,但不允许使用 POST 方法,那么您将收到与该原因对应的服务器错误。
  • 是的,服务器是问题所在。我在另一台服务器上尝试过,效果很好。不确定如何回答这个问题,因为它在 cmets 中。

标签: ios afnetworking


【解决方案1】:

试试这行代码。您可以轻松找到来自服务器的响应是什么,或者实际问题出在哪里?

[networkInstance postPath: @"users/login.json"
           parameters: params
              success:^(AFHTTPRequestOperation *operation, id jsonResponse) {
  NSLog (@"SUCCESS");
}
              failure:^(AFHTTPRequestOperation *operation, NSError *error) {
  NSLog(@" Error - Statistics file upload failed: \"%@\"", [request error]);
}];

【讨论】:

  • 我在哪里称呼这个?我在哪里可以找到/创建 ASIHTTPRequest 对象以传递给它?
  • 该评论针对的是已被编辑的问题,因此该评论没有任何意义。我没有使用 ASIHTTPRequest,我在问它,因为它在答案中,我不明白。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-01-07
  • 2011-08-01
  • 1970-01-01
  • 2015-01-14
  • 1970-01-01
  • 2011-12-20
相关资源
最近更新 更多