11.Requests【接口请求】requests模拟headers传参
一、前言
我们在讲http协议的时候,已经了解到接口的请求存在请求体,也叫header。其实在模拟接口请求时,如果后台没有对header中的参数做校验,则可以不用传header信息,比如我们上面讲到的所以接口没有传header也是可以请求成功的。为了保险起见,一般情况下我们只需要发送几个重点的参数即可。
二、学习目标
1.headers传参
三、知识点
1.【headers传参】
User-Agent,浏览器的用户代理字符串。告诉HTTP服务器, 客户端使用的操作系统和浏览器的名称和版本。
Content-Type,来表示具体请求中的媒体类型信息,确切的来说是客户端告知服务端,自己即将发送的请求消息携带的数据结构类型,好让服务端接收后以合适的方式处理。
import requests
header = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36",
"Content-Type": "application/x-www-form-urlencoded"
}
query_string = {
"name":"xiaoming",
"age":"18"
}
data = {
"say":"hello python!"
}
url_mul = 'http://httpbin.org/post'
r = requests.post(url_mul,params=query_string, data=data,headers=header) #可以用headers参数传值,header必须是字典格式
print(r.text)
同理,get请求也是这种传参方式:
import requests
header = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36",
"Content-Type": "application/x-www-form-urlencoded"
}
query_string = {
"name":"xiaoming",
"age":"18"
}
url_mul = 'http://httpbin.org/get'
r = requests.get(url_mul,params=query_string,headers=header) #可以用headers参数传值,header必须是字典格式
print(r.text)