python - 使用 urllib2.urlopen() 加载 URL 而无需等待响应

标签 python urllib2 urllib

我只想发送请求,但不想浪费时间等待响应。因为回复对我没用。 我查阅了 python 文档,但没有找到解决方案。 感谢您的任何建议。 我试过使用 urllib2.urlopen(url, timeout=0.02) 但是我不确定请求是否真的发出了。

最佳答案

这叫做异步加载,这里是一个blog post explaining how to do it with urllib2 .示例代码:

#!/usr/bin/env python

import urllib2
import threading

class MyHandler(urllib2.HTTPHandler):
    def http_response(self, req, response):
        print "url: %s" % (response.geturl(),)
        print "info: %s" % (response.info(),)
        for l in response:
            print l
        return response

o = urllib2.build_opener(MyHandler())
t = threading.Thread(target=o.open, args=('http://www.google.com/',))
t.start()
print "I'm asynchronous!"

这将在不等待响应的情况下加载 URL。

关于python - 使用 urllib2.urlopen() 加载 URL 而无需等待响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17863457/

相关文章:

python - 验证多个字段,因为它们是一个?

python - 老虎机程序中每次循环都会中断

python - python 脚本无法获取网络

python - 在 python 中更新/添加 url 中的用户名

python-3.x - urllib 无法读取 https

python - 整个 .txt 文件都是字符串,但实际上不是。我如何按类型区分它们?

Python urllib2 Tor 514 需要身份验证

python - 如何使用 urllib 和 urllib2 登录该网站

python - Django:从图像 url 在 ImageField 中添加图像

python - 是什么导致我的 Python 代码在编译时出现 AttributeError?