【问题标题】:ASIHTTPRequest Post request fails while works via HTTPClientASIHTTPRequest Post 请求在通过 HTTPClient 工作时失败
【发布时间】:2013-01-08 07:35:43
【问题描述】:

如标题中所述,我使用ASIHTTPRequest 发送POST 请求并失败,但同样的POST 请求在HTTPClient 中有效,我做错了吗?

- (void)postData:(NSData *)postData {
    //...
    NSMutableData *mutableData = [postData.mutableCopy autorelease];
    [request setRequestMethod:@"POST"];
    [request setPostBody:mutableData];
    [request setPostLength:mutableData.length];
    //....
}

【问题讨论】:

  • 它究竟是如何失败的?你得到什么错误?请帮助我们为您提供帮助。
  • @AmarKulo 它因某些服务器错误而失败,例如 500,但是当我尝试使用专用程序像 http 客户端一样发送相同的请求时它可以工作。
  • Server error 500 是服务器上的错误,所以它基本上意味着您发送了错误的请求。我会设置嗅探器并跟踪这两个请求,看看有什么区别,在那里你会找到为什么它失败的答案。

标签: objective-c ios post asihttprequest


【解决方案1】:

在所有情况下这还不够,至少我还必须在请求中添加正确的 Content-Type 标头:

[request addRequestHeader:@"Content-Type" value:@"application/x-www-form-urlencoded"];
[request appendPostData:[theString dataUsingEncoding:NSUTF8StringEncoding]]

【讨论】:

    【解决方案2】:

    好的,我发现了问题,由于某种原因我做不到

    [request setPostBody]

    我必须使用

    [request appendPostData:[theString dataUsingEncoding:NSUTF8StringEncoding]]

    改为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-02
      相关资源
      最近更新 更多