Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.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尝试使用opener打开页面的时间_Python_Multithreading - Fatal编程技术网

Python尝试使用opener打开页面的时间

Python尝试使用opener打开页面的时间,python,multithreading,Python,Multithreading,我正在尝试使用线程打开多个页面。当我使用单个线程时,一切正常,但当使用两个或更多线程时,我会收到超时响应。我的代码: opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) urllib2.install_opener(opener) page = opener.open(url).read() 是否我需要指定等待打开页面的超时时间?尝试在每个线程中使用单独的打开程序。示例来自: urllib2.install\u open

我正在尝试使用线程打开多个页面。当我使用单个线程时,一切正常,但当使用两个或更多线程时,我会收到超时响应。我的代码:

opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
urllib2.install_opener(opener)
page = opener.open(url).read()

是否我需要指定等待打开页面的超时时间?

尝试在每个线程中使用单独的打开程序。示例来自:


urllib2.install\u opener
的问题是所有线程之间共享
opener
对象,这可能会导致并发问题(如您的情况)。

尝试在每个线程中使用单独的opener。示例来自:


urllib2.install\u opener
的问题是
opener
对象在所有线程之间共享,这可能会导致并发问题(如您的情况)。

如何尝试打开页面?它打开,但有一个延迟。
import socket import urlib2#timeout in seconds timeout=10 socket.setdefaulttimeout(timeout)#对urlib2.urlopen的调用现在使用默认超时#我们在套接字模块req=urlib2.Request(url)response=urlib2.urlopen(req)中设置的
这不起作用如何尝试打开页面?它打开,但有一个延迟。
import socket import urlib2#timeout in seconds timeout=10 socket.setdefaulttimeout(timeout)#对urlib2.urlopen的调用现在使用默认超时#我们在套接字模块req=urlib2.Request(url)response=urlib2.urlopen(req)中设置的
这不起作用我需要cookies才能打开url@MikkiNorman
ProxyHandler
在此仅用作示例。我相信您可以用cookie处理器替换它:)@MikkiNorman
urllib2。安装\u opener(opener)
替换以前添加的opener,因此您在所有线程中都使用相同的对象。@MikkiNorman no。如果您还有其他问题/顾虑,请扩展您的原始问题。我正在尝试mechanize、opener.open、urlopen、Request。。。没有什么能解决我的问题。一个线程-一切正常,两个或更多线程-多个超时。但是一个月前-一切都很好。我需要打开饼干url@MikkiNorman
ProxyHandler
在此仅用作示例。我相信您可以用cookie处理器替换它:)@MikkiNorman
urllib2。安装\u opener(opener)
替换以前添加的opener,因此您在所有线程中都使用相同的对象。@MikkiNorman no。如果您还有其他问题/顾虑,请扩展您的原始问题。我正在尝试mechanize、opener.open、urlopen、Request。。。没有什么能解决我的问题。一个线程-一切正常,两个或更多线程-多个超时。但是一个月前,一切都很好。
proxy_handler = urllib2.ProxyHandler({'http': 'http://www.example.com:3128/'})

opener = urllib2.build_opener(proxy_handler)
# This time, rather than install the OpenerDirector, we use it directly:
opener.open('http://www.example.com/login.html')