前言:
在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:查询字符串
1# coding:utf-8 2 3import requests 4 5# 请求url 6url = "http://httpbin.org/get" 7 8# 请求头 9headers = { 10 "Accept": "*/*", 11 "Accept-Encoding": "gzip, deflate", 12 "User-Agent": "python-requests/2.9.1", 13} 14 15# 查询字符串 16params = {'name': 'Jack', 'age': '24'} 17 18r = requests.get(url=url, headers=headers, params=params) 19 20print r.status_code # 获取响应状态码 21print r.content # 获取响应消息 22 23if __name__ == "__main__": 24 pass
requests模块发送post请求
requests.post(url=url, headers=headers, data=params)
- url:请求url地址
- headers:请求头
- data:发送编码为表单形式的数据
1# coding:utf-8 2 3import requests 4 5# 请求url 6url = "http://httpbin.org/post" 7 8# 请求头 9headers = { 10 "Accept": "*/*", 11 "Accept-Encoding": "gzip, deflate", 12 "User-Agent": "python-requests/2.9.1", 13} 14 15# 查询字符串 16params = {'name': 'Jack', 'age': '24'} 17 18r = requests.post(url=url, headers=headers, data=params) 19 20print r.status_code # 获取响应状态码 21print r.content # 获取响应消息 22 23if __name__ == "__main__": 24 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:文件类型
1# coding:utf-8 2 3import requests 4 5# 请求url 6url = "http://httpbin.org/post" 7 8# 请求头 9headers = { 10 "Accept": "*/*", 11 "Accept-Encoding": "gzip, deflate", 12 "User-Agent": "python/2.9.1", 13} 14 15# 查询字符串 16params = {'name': 'Jack', 'age': '24'} 17 18# 文件 19files = {'upload_img': ('report.xlsx', open('report.xlsx', 'rb'), 'image/png')} 20r = requests.post(url=url, data=params, headers=headers, files=files) 21 22print r.status_code # 获取响应状态码 23print r.content # 获取响应消息 24 25if __name__ == "__main__": 26 pass
喜欢点个赞!
