Python发起POST/GET请求的封装方法和示例代码

分类:知识百科 日期: 点击:0

Python使用urllib库可以实现发起POST/GET请求的封装,并且可以设置请求头,添加参数等操作。下面介绍。

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

标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。