HTTP POST 请求在 3G 上不起作用

Posted

技术标签:

【中文标题】HTTP POST 请求在 3G 上不起作用【英文标题】:HTTP POST request not working over 3G 【发布时间】:2010-07-28 17:15:08 【问题描述】:

发出以下 HTTP POST 请求时:

  NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
  [request setHTTPMethod:@"POST"];
  NSURLResponse     *urlResponse = nil; 
  NSError    *error = nil; 

  // execute
  NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error]; 
  if(responseData)
  
        //blah
  

通过 WiFi 连接时,我得到了有效响应,但通过 3G 连接时却没有。通过 3G 恢复时,responseData 对象甚至没有生成 (0x0)。

我收到 kCFErrorDomainCFNetwork 错误 303。

响应应该是 242k 的 JSON。

任何帮助将不胜感激。

谢谢。

【问题讨论】:

服务器是否有任何基于 IP 地址的防火墙规则或访问控制列表? - 您将来自 3G 与 WiFi 上的不同 IP 地址范围 该错误表示从服务器解析标头时出现问题。这也可能意味着存在编码问题。 谢谢大家。大卫 - 没有防火墙规则等。我应该提到我还有其他通过 3G 工作的请求。唯一的区别似乎是我认为的大小。 jmz - 但为什么它可以通过 wifi 而不是 3G 工作? what is kCFErrorDomainCFNetwork Code=303的可能重复 【参考方案1】:

问题似乎出在后端系统和移动网络之间。将标题信息更改为文本格式只能解决问题。

【讨论】:

以上是关于HTTP POST 请求在 3G 上不起作用的主要内容,如果未能解决你的问题,请参考以下文章

POST 请求在 IONIC 应用程序中的 iOS 设备上不起作用

JSON HTTP请求在Mac OSX上不起作用[重复]

JSON HTTP请求在Mac OSX上不起作用[重复]

为啥这个 $.post() 在 iOS 上不起作用?

为啥外部链接在构建后在 phonegap 应用程序上不起作用

在 ionic serve 上工作的 Http 请求,但在“ionic cordova run android --device”上不起作用