文章目录
- 一、设置http请求语法(重点)
-
- [1.1 请求方法](#1.1 请求方法)
- [1.2 Response对象---获取响应内容](#1.2 Response对象—获取响应内容)
- 二、应用案例
-
- [2.1 入门案例](#2.1 入门案例)
- [2.2 案例1-get请求](#2.2 案例1-get请求)
- [2.3 案例2-post请求](#2.3 案例2-post请求)
-
- [2.3.1 带表单数据的post请求](#2.3.1 带表单数据的post请求)
- [2.3.2 带 json数据 的post请求](#2.3.2 带 json数据 的post请求)
- [2.4 案例4-put请求](#2.4 案例4-put请求)
- [2.5 案例5-delete请求](#2.5 案例5-delete请求)
一、设置http请求语法(重点)
1.1 请求方法
python
response = requests.请求方法(url='URL地址', params={k:v}, headers={k:v},
data={k:v}, json={k:v}, cookies='cookie数据'(如:令牌))
-----------------------------------------------------------------------------------------
请求方法:
get请求 - get方法
post请求 - post方法
put请求 - put方法
delete请求 - delete方法
url:要访问的地址 - string类型
params:查询参数 - 字典
headers:请求头 - 字典
data:表单格式请求体数据 - 字典 - tpshop商城项目
json:json格式请求体数据 - 字典 - ihrm项目
cookies:用来传递cookies
response:代表响应结果。
1.2 Response对象---获取响应内容
| 属性/方法 | 说明 |
|---|---|
| response.url | 请求url |
| response.status_code | 响应状态码 |
| response.cookies | cookie信息 |
| response.headers | 响应头 |
| response.text | 文本形式的响应内容(获取响应体) |
| response.json() | JSON形式的响应内容(获取响应体) |
| response.encoding | 查看响应头部字符编码 |
python
import requests
resp = requests.get("http://www.baidu.com")
# - 获取 URL: resp.url
print("获取 URL", resp.url)
# - 获取 响应状态码:resp.status_code
print("获取 响应状态码", resp.status_code)
# - 获取 Cookie:resp.cookies
print("获取 Cookie", resp.cookies)
# - 获取 响应头:resp.headers
print("取 响应头", resp.headers)
# - 获取 响应体:
# - 文本格式:resp.text
print("响应体 - 文本格式", resp.text)
# - json格式:resp.json()。 如果看到 JSONDecodeError 错误提示,说明 不能转换为 json
print("响应体 - json格式", resp.json())

二、应用案例
2.1 入门案例
使用Requests库访问 百度 http://www.baidu.com
python
# 导包
import requests
# 发送 http请求,访问百度,得到响应结果
resp = requests.get(url="http://www.baidu.com")
# 打印 响应结果的文本
print(resp.text)
2.2 案例1-get请求
【带 查询参数 的get请求】使用Requests库,请求 tpshop商城 搜索商品接口。查询 iphone
python
# 导包
import requests
# 发送 get请求,访问 tpshop搜索接口,得到响应结果.【下面两种实现方式一样,写法不一样】
# 方法1:resp = requests.get(url="http://192.168.189.135/index.php/Home/Goods/search.html?q=iphone")
resp = requests.get(url="http://192.168.189.135/index.php/Home/Goods/search.html",
params={"q": "iphone"})
# 打印响应结果
print(resp.text)

2.3 案例2-post请求
2.3.1 带表单数据的post请求
【带 表单数据 的post请求】使用Requests库,完成 tpshop商城 登录接口调用。返回 "验证码错误" 即可。
python
# 导包
import requests
# 发送 post请求,登录,得响应结果
resp = requests.post(url="http://hmshop-test.itheima.net/index.php?m=Home&c=User&a=do_login&t=0.06754297110809726",
headers={"Content-Type": "application/x-www-form-urlencoded"},
data={"username": "13812345678", "password": "123456", "verify_code": "8888"})
# 打印 文本 响应结果i
print(resp.text)
# 打印 转换为 json格式的 响应结果
print(resp.json())
结果:
bash
{"status":0,"msg":"\u9a8c\u8bc1\u7801\u9519\u8bef"}
{'status': 0, 'msg': '验证码错误'}
2.3.2 带 json数据 的post请求
【带 json数据 的post请求】使用Requests库,完成 iHRM系统 成功登录。返回 "令牌数据"。
python
# 导包
import requests
# 发送 post请求,登录 ihrm。得响应结果
resp = requests.post(url="http://ihrm2-test.itheima.net/api/sys/login",
headers={"Content-Type": "application/json"},
json={"mobile": "13800000002", "password": "888itcast.CN764%..."})
# 打印响应结果,转json格式
print(resp.json())
结果:
bash
{'success': True, 'code': 10000, 'message': '操作成功!', 'data': '2b0aa475-4dff-4659-a436-fe4e9c960f23'}
2.4 案例4-put请求
python
# 修改员工
# 导包
import requests
# 发送 put请求,修改员工 。得响应结果
resp = requests.put(url="http://ihrm-test.itheima.net/api/sys/user/1492786854133620736",
headers={"Authorization": "4125e506-c36f-4f3c-a9af-2482ef915d9a"},
json={"username": "李大宝2号"})
# 打印响应结果,转json格式
print(resp.json())

2.5 案例5-delete请求
python
# 删除员工
# 导包
import requests
# 发送 delete请求,删除员工 。得响应结果
resp = requests.delete(url="http://ihrm-test.itheima.net/api/sys/user/1493441214882635776",
headers={"Authorization": "ebf935b5-1b14-4ecf-8e1d-21cbb345739b"})
# 打印响应结果,转json格式
print(resp.json())
