我正在尝试发送一个POST请求到我的服务器,看起来一切正常,但是所有的HTTPBody都在服务器端的请求参数中结束。
在服务器上有一个自签名证书,它生成了一个我目前忽略的AuthenticationChallenge,它也工作得很好。
然而,正如我在上面所说的,postBodyData在服务器上的错误位置结束了。我使用的代码如下所示,并记录在NSURLRequest下的Apples ios文档库中。
[request setHTTPMethod: @"POST"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"];
[request setHTTPBody:postBodyData];任何帮助,建议或例子将不胜感激。
发布于 2012-02-28 05:58:59
好了,我已经找到问题所在了。因为我发送的是二进制数据,所以内容类型是错误的,一旦我传入一个空字符串,它就可以工作了。
但是,我不想设置任何内容类型,所以我找到了一种MIME类型,可以正确地执行此操作,如下所示。
[request setValue:@"application/octet-stream" forHTTPHeaderField:@"content-type"];发布于 2012-02-27 11:22:47
您还需要在请求标头中传递已发布数据的内容长度。您应该添加:
NSString *postLength = [NSString stringWithFormat:@"%d", [postBodyData length]];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];https://stackoverflow.com/questions/9459428
复制相似问题