现在我正在使用最新的AFNetworking库来执行HTTP Get操作,但我收到了不支持的URL错误消息
但是当相同时,我在浏览器中点击我正在获取数据
https://abc.xyz.com/status?id={"request":["123"," 456"]}
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager GET:BaseURLWithStatusInformation
parameters:statusId
success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
所以这里BaseURLWithStatusInformation是https://abc.xyz.com/status?id=
和statusId是{"request":["123"," 456"]}
,即包含数组的字典。
答案 0 :(得分:2)
好像你的参数应该是:
@{@"id": @"{\"request\":[\"123\",\" 456\"]}"}
您的BaseURLWithStatusInformation
(可能现在称为BaseURL
):
https://abc.xyz.com/status
因为你有混合的查询字符串和JSON。 AFNetworking不会同时做到这两点。我相信。
建议代码:
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
id url = @"https://abc.xyz.com/status";
id params = @{@"id": @"{\"request\":[\"123\",\" 456\"]}"};
[manager GET:url parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
编辑:它可能值得检查服务器实际需要什么,这种JSON和查询字符串格式的混合有点奇怪。可能你的参数应该是:
@{@"id": @{@"request":@[@"123", @"456"]}}