在iOS上使用带有NSMutableURLRequest的accept标头

在iOS上使用带有NSMutableURLRequest的accept标头,ios,http-headers,nsmutableurlrequest,Ios,Http Headers,Nsmutableurlrequest,我的NSMutableURLRequest有问题。我的服务器同时支持JSON和XML格式,它们之间用一个访问头隔开。如果未设置访问头,它也默认为JSON。 这基本上意味着,当我想要XML响应时,我需要创建一个以“application/XML”作为访问头的请求 我现在面临的问题是,即使我传入正确的访问头以获得XML响应,我仍然会得到JSON(因为这是默认值)。就像我的请求忽略了访问头一样。为了使我的请求与标题一起工作,我还需要创建其他内容吗 请求非常简单: NSMutableURLRequest

我的NSMutableURLRequest有问题。我的服务器同时支持JSON和XML格式,它们之间用一个访问头隔开。如果未设置访问头,它也默认为JSON。 这基本上意味着,当我想要XML响应时,我需要创建一个以“application/XML”作为访问头的请求

我现在面临的问题是,即使我传入正确的访问头以获得XML响应,我仍然会得到JSON(因为这是默认值)。就像我的请求忽略了访问头一样。为了使我的请求与标题一起工作,我还需要创建其他内容吗

请求非常简单:
NSMutableURLRequest*request=[NSMutableURLRequest requestWithURL:url]
[请求设置值:@“应用程序/xml”用于HttpHeaderField:@“接受”]

我已通过打印所有HttpHeaderFields:
标题:{
Accept=“application/xml”

}

是否可以使用应提供的
内容类型

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setValue:@"application/xml" forHTTPHeaderField:@"Content-Type"];

因为“application/xml”总是在“Content-Type”标题字段中传递。

服务器看到了什么?可能服务器没有正确响应。您知道是否有办法在处理请求之前查看请求的确切外观?我问这个问题的原因是因为我无法访问服务器上的日志。值得一提的是,curl使用的是完全相同的头。但不确定curl是否添加了一些默认标题。您解决了这个问题吗?我现在也有同样的问题。不幸的是,这不是问题所在。我添加了Content-Type标题,但仍然得到相同的结果(JSON)。我认为您设置了错误的标题字段。现在您应该联系管理员并询问标题字段的确切名称。可能是"接受"。您的请求已正确创建。http标头字段不区分大小写,可与curl一起使用。这意味着服务器应该正常工作。您知道curl是否添加了我在请求中丢失的任何默认头吗?不知道任何默认头。将请求发送到服务器的Post代码。除了设置请求和初始化连接外,没有其他内容了:NSURLConnection*connection=[NSURLConnection connectionWithRequest:request delegate:self];我从NSData响应中创建一个NSString并打印它,现在我知道我得到的是JSON而不是XML响应。