使用urllib2创建xml请求

2024-10-03 17:27:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要创建访问XML服务的请求,它应该通过一个HTTP来处理。Ass在文件中说,我必须发送“4个相关参数,这个参数将作为标识,并将提供请求”。此参数应类似于字符串:

"codes=12345"
"user=user12345"
"password=pass12345"
"partner=part12345"

根据文档,我有两个系统用于发送请求的XML文件:

通过一个以MIME格式application/x-www-form编码的URL- urlencoded:URL(“urlfile”)

2直接在变量中输入数据,以MIME格式编码 application/x-www-form-urlencoded:直接在变量(“xml”)中。在

根据这个,我的请求数据如下:

^{pr2}$

我使用python库urllib2创建这个请求。下面是我的代码:

request = urllib2.Request(url,  data)
request.add_header("codes=12345", "user=user12345", "password=pass12345", "partner=part12345")

但我有个错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: add_header() takes exactly 3 arguments (5 given)

所以我改了标题:

header = {'codes':'12345','user':'user12345','password':'pass12345','partner':'part12345'}

之后我的代码是这样的:

request = urllib2.Request(url, data, header)
response_xml = urllib2.urlopen(request)
response = response_xml.read()
print(response)

但如果我没有认证用户,我会得到这样的响应。我做错什么了?谢谢您!在


Tags: 文件partner参数responserequestpasswordxmlurllib2
1条回答
网友
1楼 · 发布于 2024-10-03 17:27:03

试试这个:

from urllib  import urlencode
from urllib2 import urlopen

args = {'codes':'12345','user':'user12345','password':'pass12345','partner':'part12345'}
conn = urlopen(url,urlencode(args))
data = conn.read()
conn.close()
print(data)

相关问题 更多 >