将curl命令转换为NSMutableUrlRequest

时间:2013-02-01 14:11:43

标签: ios web-services nsmutableurlrequest

我试图移植卷曲请求:

curl -X POST -H [header stuff]  -d '{"key":"value"}' [host] 

进入NSMutableUrlRequest。到目前为止,我已经删除了什么工作正常,并且只保留了导致我麻烦的事情,即-d' {" key":"值"}&#39 ;.另一个标题部分很好。

根据curl手册-d表示有效负载是以application / 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 = {" code":107," error":" bad www-form-urlencoded data"}

有没有人能指出我正确的方向来调试这些东西? -A

1 个答案:

答案 0 :(得分:1)

Content-Type应该是application/jsontext/plain。如果其他一切都失败了,请尝试application/octet-stream(原始二进制数据)。