好球員,我在谷歌搜索,並在這裏對計算器這個答案,並在數小時後,沒有看到一個工作腳本來做到這一點的一個正確的答案....蟒蛇的urllib2超時
在這裏,我粘貼假設的python工作腳本的4個示例,爲超時設置的套接字和/或超時參數設置不存在的url的默認超時值。
沒有人工作,所以超時從不觸發。
任何想法?
首先〔實施例:
import urllib2
try:
header_s = {"User-Agent":"Mozilla/5.0 (X11; U; Linux i686) Gecko/20071127 Firefox/2.0.0.11"}
req = urllib2.Request("http://www.nonexistantdomainurl.com/notexist.php",headers = header_s)
print urllib2.urlopen(req, None, 5.0).read()
except urllib2.URLError, e:
print "Url Error: %r" % e
except Exception,e:
print "Fallo de tipo ",e
else:
print "all ok!"
第二個例子:
import urllib2
try:
response = urllib2.urlopen("http://www.nonexistantdomainurl.com/notexist.php", None, 2.5)
except urllib2.URLError, e:
print "Oops, timed out?"
THRID例如:
from urllib2 import Request, urlopen, URLError, HTTPError
import base64
req = Request('http://www.nonexistantdomainurl.com/notexist.php')
try:
response = urlopen(req,timeout=5.0)
except HTTPError, e:
print 'The server couldn\'t fulfill the request.'
print 'Error code: ', e.code
except URLError, e:
print 'We failed to reach a server.'
print 'Reason: ', e.reason
第四個例子:
import urllib2
import socket
socket.setdefaulttimeout(5)
try:
response = urllib2.urlopen("http://www.faluquito.com/equipo.php",timeout=5.0).read()
except urllib2.URLError, e:
print "Url Error: %r" % e
可能的解釋:http://stackoverflow.com/a/8028602/190597 – unutbu 2012-02-14 12:55:35
謝謝@unutbu但這是另一種情況與超時問題無關。在那裏,她想知道如何在發送不好的地點時變成200。 – dyoser 2012-02-14 14:56:35