urllib2中请求“data”和“params”对应的参数是什么?

2024-04-19 19:46:12 发布

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

我已经成功地实现了python请求模块,用指定的

resp = requests.request("POST", url, proxies, data, headers, params, timeout)

但是,出于某种原因,我现在需要使用pythonurllib2模块进行查询。对于urllib2.urlopen的参数“data”,我的理解是它有助于形成查询字符串(与请求“params”相同)。请求。请求另一方面,参数“data”用于填充请求正文。在

在搜索和阅读了许多帖子、示例和文档之后,我仍然无法确定请求。请求在urllib2中的“data”。在

任何建议都将不胜感激!谢谢。在

-詹顿


Tags: 模块urldata参数requesttimeoutparamsurllib2
1条回答
网友
1楼 · 发布于 2024-04-19 19:46:12

它被称为什么并不重要,它只是在正确的地方传递它。例如,在本例中,POST数据是一个字典(名称可以是任何内容)。 字典是urlencoded的,urlencoded的名称也可以是任何内容,但我选择了“postdata”,即发布的数据

import urllib   # for the urlencode
import urllib2

searchdict = {'q' : 'urllib2'}
url = 'https://duckduckgo.com/html'
postdata = urllib.urlencode(searchdict)

req = urllib2.Request(url, postdata)
response = urllib2.urlopen(req)

print response.read()
print response.getcode()

如果您的POST数据是纯文本(而不是Python类型,如字典),则可以不使用它urllib.urlencode公司名称:

^{pr2}$

相关问题 更多 >