设置 urllib 的访问超时时间

1
2
import socket
socket.setdefaulttimeout(5.0)

今天用了 python 的 urllib 库,主要是想编写 sql 基于时间的盲注脚本,要通过网络访问超时来进行异常捕获。urllib2.openurl(url, timeout=1) 可以直接设置超时时间,但是 urllib 并不能这样,解决方法:

1
2
import socket
socket.setdefaulttimeout(5.0)

因为 urllib 是基于 socket 的,这样就设置了读取网络的超时时间为 5 秒,结合 try 来异常捕获的话,如下:

1
2
3
4
5
6
7
8
import socket
socket.setdefaulttimeout(5.0)

try:
urllib.urlopen(url).read()
except:
some operation
pass

个人GitHub: http://github.com/icodeu

CSDN博客:http://blog.csdn.net/icodeyou

个人微信号:qqwanghuan 技术交流

image