我只是想發送請求,但不想浪費時間等待響應。因爲這些回覆對我來說毫無用處。 我擡頭看python文檔,但沒有找到解決方案。 感謝您的任何建議。 我試圖使用 urllib2.urlopen(url, timeout=0.02)
但我不能確定請求是否實際發出。使用urllib2.urlopen()加載一個URL而不等待回覆
1
A
回答
4
這被稱爲異步加載,這裏是一個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而不等待響應。
0
實現異步函數調用的最簡單方法是在其自己的線程或子進程中使用可調用函數。
http://docs.python.org/library/threading.html#threading.Thread
http://docs.python.org/library/multiprocessing.html#multiprocessing.Process
似乎有HTTP庫用於Python已經實現然而這樣的功能,如grequests
或requests-futures
(二者均基於所述requests
庫,在超過urllib2
的改進API術語)。
相關問題
- 1. 的Python urllib2.urlopen在URL
- 2. 使用時urllib2.urlopen()打開一個URL「得到」或「後」
- 3. 等待加載URL返回數據AS3
- 4. 複製一個項目而不等待
- 5. 等待頁面使用urllib2加載資源
- 6. 發送curl而不等待回覆php
- 7. urllib2.urlopen()返回不同的結果
- 8. 「urllib2.urlopen」添加主機頭
- 9. python urllib2.urlopen返回錯誤500,Chrome瀏覽器加載頁面
- 10. urllib2.urlopen不添加 「/」 最後的URL與中國自動
- 11. python:不能使用urlopen!從urllib,urllib2,clientcookie urlopen ssl錯誤
- 12. urllib.retrieve和urllib2.urlopen在下載圖像後永不返回
- 13. 使用urllib2.urlopen下載.rar文件時缺少第一行()
- 14. urllib.urlopen工程,但urllib2.urlopen不
- 15. 的urllib2的urlopen HTML不全
- 16. 蟒蛇urllib2.urlopen(URL)過程塊
- 17. 如何在url中處理urllib2.urlopen?
- 18. urllib2.urlopen失敗,而urllib.urlopen工作在相同的URL
- 19. GetChar不等待回覆
- 20. 等待一個進程的回覆Erlang
- 21. 404錯誤urllib2.urlopen()
- 22. 無緩衝urllib2.urlopen
- 23. Python:用SIGTERM打斷urllib2.urlopen()
- 24. urllib2.urlopen()在GAE上返回特定URL上的錯誤500
- 25. urllib2.urlopen返回一個沒有info()或geturl()方法的對象
- 26. 等待加載
- 27. 等待加載
- 28. 找插座urllib2.urlopen返回值HTTP
- 29. PHP - 等待回覆
- 30. 等待AJAX回覆