Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中通过HTTP请求发送XML的最简单方法?_Python_Xml_Httprequest - Fatal编程技术网

在Python中通过HTTP请求发送XML的最简单方法?

在Python中通过HTTP请求发送XML的最简单方法?,python,xml,httprequest,Python,Xml,Httprequest,是否有首选的python模块可以帮助我通过HTTP请求发送XML,并能够解析返回的XML?一种方法是使用: r=urllib2.Request(“http://example.com“,data=“垃圾邮件”, headers={'Content-Type':'application/xml'}) u=urllib2.urlopen(r) 响应=u.read() 请注意,您必须设置内容类型标题,否则将发送请求application/x-www-form-urlencoded 如果这对你来说太复

是否有首选的python模块可以帮助我通过HTTP请求发送XML,并能够解析返回的XML?

一种方法是使用:

r=urllib2.Request(“http://example.com“,data=“垃圾邮件”,
headers={'Content-Type':'application/xml'})
u=urllib2.urlopen(r)
响应=u.read()
请注意,您必须设置内容类型标题,否则将发送请求
application/x-www-form-urlencoded

如果这对你来说太复杂了,那么你也可以使用这个库


解析响应是一个很好的库,但也可以。

它是SOAP消息还是XML消息?有关与python的SOAP集成,请参见。与解析XML相关:。我也喜欢ElementTree。XML的格式很简单,例如0或多个嵌套。我强烈建议在所有情况下都使用
请求
。我不断收到由于状态为空而导致的错误badstatusline。是否有任何方法可以忽略此项或获取响应的XML?这意味着您的服务器可能没有返回有效的http状态。为什么会出现此问题?除了httplib,还有其他模块可以发送http请求吗?是的,正如我写的,您应该尝试
请求
库,它可能可以更好地处理错误状态。但是,如果您可以控制服务器,那么应该检查它是否返回有效状态,或者为什么返回无效状态。
r = urllib2.Request("http://example.com", data="<xml>spam</xml>",
                     headers={'Content-Type': 'application/xml'})
u = urllib2.urlopen(r)
response = u.read()