AFNetworking POST请求并确定webservice中的确切问题

时间:2013-11-19 11:56:09

标签: ios afnetworking

我正在使用AFNetworking并且无法获得正确的响应,搜索方式但能够获得以下代码但仍然出现错误

我还有另一个问题。有没有办法在Web服务中找到正确的问题? 到目前为止,我发现很难解决这个错误。

因为服务器总是返回错误代码,我需要一些调试工具,它可以告诉您没有放置标题或不正确的内容类型,格式无效....

它只返回错误代码,这意味着更多......

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:@"http://www.somewebsiteurl/webservice/getResponse"]];
[request setHTTPMethod:@"POST"];

//set headers
NSString *contentType = [NSString stringWithFormat:@"text/html"];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];


//create the body
NSMutableData *postBody = [NSMutableData data];

[postBody appendData:[[NSString stringWithFormat:@"data={\"request\":{\"type\":\"getwork\"}}"] dataUsingEncoding:NSUTF8StringEncoding]];


//post
[request setHTTPBody:postBody];

//响应

{"response":{"message":"Invalid Request"}}

当我把它放在http://apikitchen.com/我的网络服务工作

2 个答案:

答案 0 :(得分:0)

请访问AFNetworking github页面github link 了解AFNetworking,这里是使用AFNetworking中的帖子发送请求的代码

编辑:

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSDictionary *parameters = @{@"request":@{@"type":@"getwork"}:@"data"};
[manager POST:@"http://www.somewebsiteurl/webservice/getResponse" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"Error: %@", error);
}];

替换您的参数并发送请求

答案 1 :(得分:0)

设置请求的方式存在一些问题。

但在任何人都可以回答这个问题之前,您需要指定服务器期望的有效POST数据。在您的示例中,您尝试传递字符串:

data={"request":{"type":"getwork"}}

此字符串无法编码为application/x-www-form-urlencoded MIME类型所需的参数列表。那就是AFNetworking - 开箱即用 - 不能与这个参数字符串一起使用。

它也不是JSON。也就是说,也不能使用内容类型设置为application/json的AFNetworking。

因此,首先定义服务器可以接受的语法和MIME类型。