AFNetworking Post 请求不起作用

Posted

技术标签:

【中文标题】AFNetworking Post 请求不起作用【英文标题】:AFNetworking Post request not working 【发布时间】:2013-09-04 09:24:22 【问题描述】:

我在向 .net webservice 方法发出 POST 请求时遇到问题。 我已经提出了很多帖子请求,但我似乎没有得到我在这里面临的问题 在 Rest 客户端的帮助下成功发出请求 但它总是给我一个 400 错误 我正在使用 AFNetworking 发出发布请求 如果有问题请找下面的代码

NSURL *url=[NSURL URLWithString:@"http://WebService.svc"]; 
NSMutableDictionary *params=[NSMutableDictionary dictionary];
[params setValue:@"cabbage123" forKey:@""];

AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];
[httpClient setParameterEncoding:AFJSONParameterEncoding];
[httpClient setDefaultHeader:@"Accept" value:@"application/json"];

[httpClient registerHTTPOperationClass:[AFJSONRequestOperation class]];

[httpClient postPath:[NSString stringWithFormat:@"Users/%@",userId] parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) 
    // Print the response body in text
    NSLog(@"Response: %@",responseObject);
 failure:^(AFHTTPRequestOperation *operation, NSError *error) 

];

我得到一个带有此错误的 html 响应

AFNetworkingOperationFailingURLRequestErrorKey=<NSMutableURLRequest http://WebService.svc/Users/userid>, NSErrorFailingURLKey=http://WebService.svc/Users/userid, NSLocalizedDescription=Expected status code in (200-299), got 400, AFNetworkingOperationFailingURLResponseErrorKey=<NSHTTPURLResponse: 0x7ba6df0>

【问题讨论】:

您是否尝试过使用“charles”跟踪此通话。确保您从 rest 客户端和 AFNetworking 发送的调用是相同的,您可能会丢失一些标头 我认为我发送参数的方式有问题 你也可以在这里分享解决方案,这样下次如果有人遇到类似情况,他就会为他准备好解决方案。 我仍在寻找解决方案。完成后将上传 【参考方案1】:

我认为用于 WCF 网络服务的 AfNetworking 存在一些问题。 最终我可以通过使用标准的 NSURLConnection 类来连接和使用网络服务。虽然我现在面临 PUT 请求的相同问题。

【讨论】:

【参考方案2】:

您是否尝试过设置 AFNetworking 以允许无效证书?

httpClient.allowsInvalidSSLCertificate = YES;

如果你想使用操作。

AFSecurityPolicy *sec=[[AFSecurityPolicy alloc] init];
[sec setAllowInvalidCertificates:YES];
operation.securityPolicy=sec;

【讨论】:

以上是关于AFNetworking Post 请求不起作用的主要内容,如果未能解决你的问题,请参考以下文章

obj-c AFNetworking 2.0 POST 请求不起作用

AFNetworking JSON 请求不起作用

AFNetworking https 请求不起作用

Volley JsonObjectRequest Post 请求不起作用

CORS POST 请求不起作用 - 选项(错误请求) - 不允许来源

Axios POST 请求不起作用