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请求更加方便,极大提高了工作效率。