Python的Urllib发送Http请求如何设置超时
以前的一个脚本 发现很多地方使用urllib.urlopen()来调用一些第三方的restful接口,却没有设置超时,于是相加一下调用http接口的timeout
却发现urllib模块并没有提供这个参数,urllib2就有,其实目前开发中,python的httpclient我们还是应该首选requests模块,其次使用urllib2模块(算是urllib的完善版),尽量避免使用urllib模块。
但是这个脚本年代比较久远,后面二次开发的可能性也不大,所以自然怎么简单怎么来了。言归正传,如何给Urllib.urlopen设置timeout呢?
其实就是通过设置socket模块的全局默认超时时间来实现。
1 2 | import socket; socket.setdefaulttimeout(3) #设置超时时间3s |