AFNetworking 2.x 带有 xml 正文的 POST 请求

Posted

技术标签:

【中文标题】AFNetworking 2.x 带有 xml 正文的 POST 请求【英文标题】:AFNetworking 2.x POST request with xml body 【发布时间】:2014-03-28 11:20:28 【问题描述】:

我正在尝试将一些数据以 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 body xml 内容看起来不错。像这样:

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

HttpClientXML 有这样的定义:

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

在 1.x 版本中,这可以通过 AFXMLRequestOperation 实现。但在 2.x 版本中,我无法使用 AFHTTPSessionManager 获得有效的解决方案。

有什么建议吗?

【问题讨论】:

【参考方案1】:

这里是解决方案...

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

【讨论】:

请您为您的答案添加更多解释吗?我正在尝试做同样的事情。这是我的问题***.com/questions/27317591/…

以上是关于AFNetworking 2.x 带有 xml 正文的 POST 请求的主要内容,如果未能解决你的问题,请参考以下文章

AFNetworking XML 请求问题

AFNetworking 序列化正斜杠使 JSON 有效负载无效

如何使用 AFNetworking 2.x 管理许多 (>500) 后台 URLSession 下载?

AFNetworking 2.x JSON POST 数据在服务器上为空

Objective C - 使用 AFNetworking 2.x 库将参数传递给 webservice (cakephp)

使用 AFNetworking 解析 XML