0
我试图端口一个卷曲的请求:curl命令翻译成NSMutableUrlRequest
curl -X POST -H [header stuff] -d '{"key":"value"}' [host]
成NSMutableUrlRequest。到目前为止,我已经剥离了什么工作正常,只保留导致我麻烦的事情,即-d'{“key”:“value”}'。另一个头部分很好。
根据卷曲手册-d意味着该有效载荷在应用/ X WWW的form-urlencoded格式发送的,所以我做了以下:
NSString* post = @"{\"key\":\"value\"}";
NSData *postData = [post dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
[_request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[_request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[_request setHTTPMethod:@"POST"];
[_request setHTTPBody:postData];
这将返回以下错误
失败,错误错误域= AFNetworkingErrorDomain代码= -1011“预期的状态代码在(200-299),得到400”UserInfo = 0xa363550 {NSLocalizedRecoverySuggestion = {“代码”:107,“错误”:“坏www-form-urlencoded数据“}
任何一个人都可以指向正确的方向调试这个东西? -A
你完全正确!它现在像一个魅力:) – Alex
@亚历克斯它是哪一个? – 2013-02-01 14:47:01
解决方案适用于那些感兴趣的人[_request setValue:@“application/json”forHTTPHeaderField:@“Content-Type”]; – Alex