1. 发起POST请求
Python使用urllib库中的urllib.request.urlopen()函数可以实现发起POST请求。该函数的第一个参数是请求的URL,第二个参数是请求的参数,第三个参数是请求的头部,第四个参数是请求的超时时间。下面是一个发起POST请求的示例代码:
import urllib.request url = 'https://www.example.com/post' data = { 'name': 'Tom', 'age': '20' } headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36' } data = urllib.parse.urlencode(data).encode('utf-8') req = urllib.request.Request(url, data=data, headers=headers) res = urllib.request.urlopen(req) res = res.read().decode('utf-8') print(res)
上面的代码中,第一行导入urllib库,第二行定义请求的URL,第三行定义请求的参数,第四行定义请求的头部,第五行将参数进行编码,第六行使用urllib.request.Request()函数构造请求,第七行使用urllib.request.urlopen()函数发起请求,第八行获取请求的响应结果,第九行将响应结果进行解码,第十行打印响应结果。
2. 发起GET请求
Python使用urllib库中的urllib.request.urlopen()函数可以实现发起GET请求。该函数的第一个参数是请求的URL,第二个参数是请求的头部,第三个参数是请求的超时时间。下面是一个发起GET请求的示例代码:
import urllib.request url = 'https://www.example.com/get?name=Tom&age=20' headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36' } req = urllib.request.Request(url, headers=headers) res = urllib.request.urlopen(req) res = res.read().decode('utf-8') print(res)
上面的代码中,第一行导入urllib库,第二行定义请求的URL,第三行定义请求的头部,第四行使用urllib.request.Request()函数构造请求,第五行使用urllib.request.urlopen()函数发起请求,第六行获取请求的响应结果,第七行将响应结果进行解码,第八行打印响应结果。
以上就是,urllib库可以让Python发起POST/GET请求更加方便,极大提高了工作效率。