我正在使用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/我的网络服务工作
时答案 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类型。