1 '''
2 urllib.request:请求模块
3 urllib.error:异常处理模块
4 urllib.parse:url解析模块
5 '''
6 response有三个方法
response.geturl()可以获取url地址
response.info()获得响应的header信息
response.getcode()获得响应状态码
7 #get请求
8 import urllib.request
9 response = urllib.request.urlopen('http://www.baidu.com')
10 html = response.read().decode('utf-8')#读取后把百度解码
11 print(html)
12
13 #post请求,需要传进去一个data
14 import urllib.parse
15 import urllib.request
16 data = byte(urllib.parse.urlencode({'word':'hello'}),encoding='utf-8')
17 response = urllib.request.urlopen('http://httpbin.org/post',data)
18 print(response.read())
19
20 #timeout超时设置
21 import urllib.request
22 response=urllib.request.urlopen('http://httpbin.org/get',timeout=1)
23 print(response.read())
24
25 import socket
26 import urllib.request
27 import urllib.error
28 try:
29 response = urllib.request.urlopen('http://httpbin.org/get',timeout = 0.1)
30 except urllib.error.URLError as e:
31 if isinstance(e.reason,socket.timeout):
32 print('TIME OUT')