Python 在django中将xml发布到外部url?

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

您建议我如何在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 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()