如何将HTTP的内容类型设置为xxxx+xml?
我指的是这个链接Android,通过HTTP (SOAP)发送XML中的解决方案。当我们像这样设置内容类型时,我的意思是xml是随请求一起出现的:
httppost.setHeader("Content-Type","application/soap+xml;charset=UTF-8");但是,当我将soap类型更改为自定义时,xml在请求中消失(我在wireshark上看到),如下所示:
httppost.setHeader("Content-Type","application/vnd.oma-pcc+xml;charset=UTF-8");然后,我尝试只放置xml,这样请求就可以了:
httppost.setHeader("Content-Type","application/xml;charset=UTF-8");我想知道内容类型的具体规则是什么,而不是将其与xml类型结合在一起,以便xml仍然存在。
谢谢。
发布于 2013-01-15 15:00:30
假设您使用的HTTPClient为4.1.3或更高-
在构造实体时,您可以选择为某些实体指定用于POST或PUT操作的内容。
应该使用一个ContentType对象来指定这个对象。
使用工厂方法.create(),您可以使用字符集指定mimetype -框架将使用ContentType正确地发出相关的标头。
示例API调用:
ContentType.create("application/vnd.oma-pcc+xml", CharSet.forName("UTF-8"));
注释HttpClient 4.1.2的编辑
在4.1.2的情况下,当您为post或put操作创建实体时,请在实体上设置内容类型,而不是使用setContentType(String)设置execution (HttpPost或HttpPut)。这一点在4.1.3及以后不再受欢迎。
https://stackoverflow.com/questions/14338997
复制相似问题