1.使用requests库发送请求,fiddler无法抓到包;使用浏览器请求相同的url,可以抓到包
- 在请求参数中添加 proxies参数,如下:
proxies = { 'http': 'http://127.0.0.1:8888', 'https': 'http://127.0.0.1:8888', } requests.你的请求方法('你的请求',data=你的payload, proxies=proxies)
proxies是字典,里面的value是fiddler代理和端口
2.打印get/post请求的返回值
obj = requests.get("请求地址",data={"请求参数"})
print(obj.text)
print(obj.json())
3.返回值打印漂亮
4.请求方法对应的参数
参数 | 说明 | get | post | put | delete |
url | 有 | 有 | 有 | 有 | |
params | 如果传入的是字段。自动编码为表单;字符串 | 有 | |||
data | 如果传入的是字符串,按元格式直接发布出去 | 有 | 有 | 有 | |
json | 如果传入的是字典,自动编码为json字符串; 如果传入的是字符串,按原格式基础上添加双引号发出去; | 有 | |||
headers | 传递的是字典格式 | 有 | 有 | 有 | 有 |
cookies | 有 | 有 | 有 | 有 |
一般情况:
get请求的参数用 params,传入字典;
post请求的参数用json;
6.什么请求返回是text,什么请求返回结果是json?
baidu = requests.get("https://www.baidu.com")
print("baidu:",baidu.json()) #报错
print("baidu:",baidu.text) #不报错
- 查看response hesders的 content-type 的值。
7.请求中的headers参数,有哪些?
- 用web调用,查看浏览器F12中的requests headers中的参数
- 或者用postman调用,查看 Headers 中的参数