用XML主体AFNetworking 2.x的POST请求(AFNetworking 2.x POS

2019-10-19 17:00发布

我想一些POST数据到与身体服务器采用XML格式。

[[HttpClientXML sharedClientWithBaseUrl:self.baseUrl] POST:@"/postXml/" parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) {
    BSLog(@"Success");
} failure:^(NSURLSessionDataTask *task, NSError *error) {
    BSLog(@"Error: %@",error.localizedDescription);
}];

POST主体的XML内容看起来不便。 像那样:

<action name='job'>jobName</action>

HttpClientXML有这样的定义:

self.responseSerializer = [AFXMLParserResponseSerializer serializer];
self.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/xml"];

在1.x版本中,这是可行的与AFXMLRequestOperation 。 但在2.x版本我无法得到与工作解决方案AFHTTPSessionManager

有什么建议么?

Answer 1:

下面是解...

request.HTTPBody = [self.body dataUsingEncoding:NSUTF8StringEncoding];
request.HTTPMethod = @"POST";
[request setValue:@"text/xml" forHTTPHeaderField:@"Content-Type"];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];


文章来源: AFNetworking 2.x POST request with xml body