Python 在django中将xml发布到外部url?
您建议我如何在django中将xml数据发布到url 例如,在my views.py中,当调用视图时,我尝试向url发送帖子,然后返回xml响应内容 到目前为止,我所拥有的:Python 在django中将xml发布到外部url?,python,xml,django,Python,Xml,Django,您建议我如何在django中将xml数据发布到url 例如,在my views.py中,当调用视图时,我尝试向url发送帖子,然后返回xml响应内容 到目前为止,我所拥有的: import xml URL ="http://something.com" def process(request): response = None if request.method=="POST": xml_data = """ <?xml versi
import xml
URL ="http://something.com"
def process(request):
response = None
if request.method=="POST":
xml_data = """
<?xml version='1.0' encoding='UTF-8'?>
<something><retrieve_user>Tammy</retrieve_user></something>
"""
headers = {
"Host": "myhost",
"Content-Type": "text/xml; charset=UTF-8",
"Content-Length": len(xml_data)
}
#make response variable equal to process to post xml_data and headers to URL
response = ??
return response
导入xml
URL=”http://something.com"
def流程(请求):
响应=无
如果request.method==“POST”:
xml_data=“”
塔米
"""
标题={
“主机”:“我的主机”,
“内容类型”:“text/xml;charset=UTF-8”,
“内容长度”:len(xml_数据)
}
#使响应变量等于将xml_数据和头发布到URL的过程
响应=??
返回响应
在此之后,如何获取响应内容的值。例如,如果响应内容返回以下内容:
<response_begin>
<array>
<info>
<name>Name Something</name>
<email>Email Something</email>
</info>
<info>...</info>
</array>
</response_begin>
说点什么
发邮件
...
如何检索“命名某物”和“发送电子邮件某物”的值?提前谢谢。我认为在这种情况下,django的部分是一个危险因素。查看python内置的httplib模块。它将允许您提出POST请求。页面底部有一些示例
您需要更改内容类型,并接受标题为“text/xml”或“application/xml”。我认为在这种情况下,django部分是一个麻烦。查看python内置的httplib模块。它将允许您提出POST请求。页面底部有一些示例
您需要将内容类型和接受的标题更改为“text/xml”或“application/xml”。我发现一篇文章帮助我使用httplib解决了发布问题
我发现一篇文章帮助我解决了使用httplib发布的问题 可能的重复可能的重复
import httplib
import xml.dom.minidom
HOST = "www.domain.nl"
API_URL = "/api/url"
def do_request(xml_location):
"""HTTP XML Post request"""
request = open(xml_location, "r").read()
webservice = httplib.HTTP(HOST)
webservice.putrequest("POST", API_URL)
webservice.putheader("Host", HOST)
webservice.putheader("User-Agent", "Python post")
webservice.putheader("Content-type", "text/xml; charset=\"UTF-8\"")
webservice.putheader("Content-length", "%d" % len(request))
webservice.endheaders()
webservice.send(request)
statuscode, statusmessage, header = webservice.getreply()
result = webservice.getfile().read()
resultxml = xml.dom.minidom.parseString(result)
print statuscode, statusmessage, header
print resultxml.toprettyxml()