Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.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中打开URL_Python_Httprequest_Urlopen - Fatal编程技术网

在Python中打开URL

在Python中打开URL,python,httprequest,urlopen,Python,Httprequest,Urlopen,如何在Python中打开包含变量和键值的URL? 我试了如下,但我收到了一个错误的请求。不过,在我的web浏览器中打开文件(主机)似乎没有任何问题。也许是代理 for verb in verbs: host = 'http://google.no/blabla?text=' + verb + '&pos=Any' checktext = '<font color="maroon">' + verb + '</font>' params =

如何在Python中打开包含变量和键值的URL? 我试了如下,但我收到了一个错误的请求。不过,在我的web浏览器中打开文件(主机)似乎没有任何问题。也许是代理

for verb in verbs:
    host = 'http://google.no/blabla?text=' + verb + '&pos=Any'
    checktext = '<font color="maroon">' + verb + '</font>'

    params = {'http': 'http://www.someproxy.com:3128'}

    req = urllib2.Request(host, urllib.urlencode(params))
    res = urllib2.urlopen(req)

    print res.read()
动词中动词的
:
主持人http://google.no/blabla?text=“+动词+”&pos=Any”
检查文本=“”+动词+“”
params={'http':'http://www.someproxy.com:3128'}
req=urllib2.Request(主机,urllib.urlencode(参数))
res=urlib2.urlopen(请求)
打印资源读取()

NB:明白了。当我将None作为req(urllib.urlencode(params))中的第二个参数放入时,它就工作了。因此,它一定是服务器不喜欢的代理。

我不确定您在那里使用
参数做什么。
urllib2.Request
的第二个参数是要发布到服务器的数据


使用
请求设置代理的方法是调用
req.set\u proxy(主机,类型)
-请参阅。

尝试使用urllib2.build\u opener:

import urllib2,cookielib

opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookielib.CookieJar()))
url = 'http://google.no/blabla'

for verb in verbs:
    data = '?text=' + verb + '&pos=Any' # not really sure how to fit your 'params' in here
    socket = opener.open(url,data)
    print socket.read()
请看一下这个库,它使python HTTP大大减少了麻烦。