前言:
在web后台开发过程中,会遇到需要向第三方发送http请求的场景,python中的requests库可以很好的满足这一要求,这里简要记录一下requests模块的使用!
说明:
这里主要记录一下requests模块的如下几点:
- 1.requests模块的安装
- 2.requests模块发送get请求
- 3.requests模块发送post请求
- 4.requests模块上传文件
更详细的使用参见官方文档
requests模块的安装
requests模块数据第三方库,这里使用pip进行安装:
pip install requests
requests模块发送get请求
requests.get(url=url, headers=headers, params=params)
- url:请求url地址
- headers:请求头
- params:查询字符串
# coding:utf-8
import requests
# 请求url
url = "http://httpbin.org/get"
# 请求头
headers = {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"User-Agent": "python-requests/2.9.1",
}
# 查询字符串
params = {'name': 'Jack', 'age': '24'}
r = requests.get(url=url, headers=headers, params=params)
print r.status_code # 获取响应状态码
print r.content # 获取响应消息
if __name__ == "__main__":
pass
requests模块发送post请求
requests.post(url=url, headers=headers, data=params)
- url:请求url地址
- headers:请求头
- data:发送编码为表单形式的数据
# coding:utf-8
import requests
# 请求url
url = "http://httpbin.org/post"
# 请求头
headers = {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"User-Agent": "python-requests/2.9.1",
}
# 查询字符串
params = {'name': 'Jack', 'age': '24'}
r = requests.post(url=url, headers=headers, data=params)
print r.status_code # 获取响应状态码
print r.content # 获取响应消息
if __name__ == "__main__":
pass
requests模块上传文件
requests.post(url=url, headers=headers, data=params, files=files)
参数说明:
- url:请求url地址
- headers:请求头
- data:发送编码为表单形式的数据
- files:上传的文件,如:
files = {'upload_img': ('report.png', open('report.png', 'rb'), 'image/png')}
参数说明:- 1.report.png:文件名
- 2.open('report.png', 'rb'):文件内容
- 3.image/png:文件类型
# coding:utf-8
import requests
# 请求url
url = "http://httpbin.org/post"
# 请求头
headers = {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"User-Agent": "python/2.9.1",
}
# 查询字符串
params = {'name': 'Jack', 'age': '24'}
# 文件
files = {'upload_img': ('report.xlsx', open('report.xlsx', 'rb'), 'image/png')}
r = requests.post(url=url, data=params, headers=headers, files=files)
print r.status_code # 获取响应状态码
print r.content # 获取响应消息
if __name__ == "__main__":
pass
喜欢点个赞!