Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.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 请求的相应参数是什么;“数据”;及;“参数”;在urllib2中?_Python_Python 2.7_Python Requests_Urllib2 - Fatal编程技术网

Python 请求的相应参数是什么;“数据”;及;“参数”;在urllib2中?

Python 请求的相应参数是什么;“数据”;及;“参数”;在urllib2中?,python,python-2.7,python-requests,urllib2,Python,Python 2.7,Python Requests,Urllib2,我已经成功地实现了python请求模块,用指定的 resp=requests.request(“POST”、url、代理、数据、标题、参数、超时) 然而,出于某种原因,我现在需要使用python urllib2模块进行查询。对于urllib2.urlopen的参数“data”,我的理解是它有助于形成查询字符串(与请求“params”相同)。另一方面,请求的参数“data”用于填充请求正文 在搜索和阅读了许多帖子、示例和文档之后,我仍然无法找出请求的相应参数。urllib2中请求的“数据” 任何建

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

resp=requests.request(“POST”、url、代理、数据、标题、参数、超时)

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

在搜索和阅读了许多帖子、示例和文档之后,我仍然无法找出请求的相应参数。urllib2中请求的“数据”

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


-詹顿

它叫什么并不重要,重要的是在正确的地方传递它。例如,在本例中,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的情况下工作:

import urllib2

searchstring = 'q=urllib2'
url = 'https://duckduckgo.com/html'

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

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

嗨,谢谢你的评论!我并不是说我同时使用了这两种方法。我正试图理解传递给urllib2的内容与我对请求所做的一样。根据您的澄清,我已替换了我的答案。
数据
参数称为
数据
。。。还是不错的答案+1