urlib3是另一个Python网络库,功能要比urlib更强大。
在python程序中,使用频率最高的网络模块莫过于urlib,因为urlib是Python内置的网络模块,不需要单独安装,使用起来非常方便。但随着互联网的不断发展,urlib里的功能明显已经不够用了,所以有了后来的urlib2和urlib3。
由于HTTP底层是基于Socket实现的,所以连接的过程中也可能超时。Socket超时分为连接超时和读超时。连接超时是指在连接的过程中由于服务端的问题或域名(IP地址)弄错了导致的无法连接服务器的情况,当客户端Socket尝试连接服务器超过给定时间后,还没有成功连接服务器,就会自动中断连接,通常会抛出超时异常。读超时是指在从服务器读取数据时由于服务器的问题,导致长时间无法正常读取数据而导致的异常。