【问题标题】:AFNetworking 404 response for valid url有效 url 的 AFNetworking 404 响应
【发布时间】:2015-07-15 16:42:07
【问题描述】:

我正在使用 AFNetworking 2.0 访问 (AFHTTPRequestOperation *) GET 获取公共网站的多个 URL。 99% 的调用工作正常,但奇怪的调用返回 404(未找到)。一个例子是 URLString = "http://feeds.wired.com/wired/index" 它适用于以下所有方法(没有重定向):

  • 浏览器
  • 来自 Objective-C 代码的低级 iOS 调用 [NSURLConnection sendAsynchronousRequest:URLString ...]
  • 通过 jQuery 从 JavaScript 调用 $.ajax

但是,(AFHTTPRequestOperation *) GET 返回 404(没有重定向)。

这些是我为 (AFHTTPRequestOperation *) GET 和 $.ajax 发送的标头(NSURLConnection 完全没有任何标头)。

  • 用户代理:Mozilla/5.0(Windows NT 6.3;WOW64;Trident/7.0;Touch;rv:11.0),如 Gecko
  • 接受:文本/html,应用程序/xhtml+xml,/
  • 接受编码:gzip、放气
  • DNT:1
  • 缓存控制:无缓存

我很确定 http://feeds.wired.com/wired/index 的响应有些奇怪,AFNetworking 或一些较低级别的 iOS NS 方法正在阻塞,但我无法从代码执行的基本分析中弄清楚。

我希望 AFNetworking 足够灵活,可以处理任何浏览器、低级 iOS 和 jQuery $.ajax 可以处理的东西。

有谁知道这个问题的潜在来源以及如何对 AFNetowking 进行参数化或修改以适应它?

【问题讨论】:

    标签: afnetworking afnetworking-2


    【解决方案1】:

    我在这里发现了问题。如果 (AFHTTPRequestOperation *) GET 为“参数”提供了一个空字典值,则它会附加一个“?”到某些网站不喜欢的 URL 的末尾,并以“404”响应。解决方案是永远不要提供空字典。相反,如果没有参数,则提供“nil”。

    我个人认为这是一个 AFNetworking 错误,但解决方法很简单。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-27
      • 1970-01-01
      • 1970-01-01
      • 2017-08-28
      • 1970-01-01
      • 2013-11-08
      • 1970-01-01
      • 2016-04-10
      相关资源
      最近更新 更多