文章目录
- 一、设置http请求语法(重点)
- 1.1 请求方法
- 1.2 Response对象—获取响应内容
- 二、应用案例
- 2.1 入门案例
- 2.2 案例1-get请求
- 2.3 案例2-post请求
- 2.3.1 带表单数据的post请求
- 2.3.2 带 json数据 的post请求
- 2.4 案例4-put请求
- 2.5 案例5-delete请求
一、设置http请求语法(重点)
1.1 请求方法
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 | 查看响应头部字符编码 |
importrequests resp=requests.get("http://www.baidu.com")# - 获取 URL: resp.urlprint("获取 URL",resp.url)# - 获取 响应状态码:resp.status_codeprint("获取 响应状态码",resp.status_code)# - 获取 Cookie:resp.cookiesprint("获取 Cookie",resp.cookies)# - 获取 响应头:resp.headersprint("取 响应头",resp.headers)# - 获取 响应体:# - 文本格式:resp.textprint("响应体 - 文本格式",resp.text)# - json格式:resp.json()。 如果看到 JSONDecodeError 错误提示,说明 不能转换为 jsonprint("响应体 - json格式",resp.json())二、应用案例
2.1 入门案例
使用Requests库访问 百度 http://www.baidu.com
# 导包importrequests# 发送 http请求,访问百度,得到响应结果resp=requests.get(url="http://www.baidu.com")# 打印 响应结果的文本print(resp.text)2.2 案例1-get请求
【带 查询参数 的get请求】使用Requests库,请求 tpshop商城 搜索商品接口。查询 iphone
# 导包importrequests# 发送 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商城 登录接口调用。返回 ”验证码错误“ 即可。
# 导包importrequests# 发送 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"})# 打印 文本 响应结果iprint(resp.text)# 打印 转换为 json格式的 响应结果print(resp.json())结果:
{"status":0,"msg":"\u9a8c\u8bc1\u7801\u9519\u8bef"}{'status':0,'msg':'验证码错误'}2.3.2 带 json数据 的post请求
【带 json数据 的post请求】使用Requests库,完成 iHRM系统 成功登录。返回 ”令牌数据“。
# 导包importrequests# 发送 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())结果:
{'success':True,'code':10000,'message':'操作成功!','data':'2b0aa475-4dff-4659-a436-fe4e9c960f23'}2.4 案例4-put请求
# 修改员工# 导包importrequests# 发送 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请求
# 删除员工# 导包importrequests# 发送 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())