Requests请求格式
Requests请求格式GETget: params没有请求体,params就是追加在urL后面的查询参数接口地址?key=value&key=value&…payload = {'key1': 'value1', 'key2': 'value2'}headers = {'user-agent': 'my-app/0.0.1'}url = "https://httpbin.org/
·
Requests请求格式
GET
get: params
没有请求体,params就是追加在urL后面的查询参数
接口地址?key=value&key=value&…
payload = {'key1': 'value1', 'key2': 'value2'}
headers = {'user-agent': 'my-app/0.0.1'}
url = "https://httpbin.org/get"
r = requests.get(url, params=payload, headers=headers)
查看请求地址print(r.url)
https://httpbin.org/get?key2=value2&key1=value1
查看请求头print(r.request.headers)
{'user-agent': 'my-app/0.0.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'}
查看响应头print(r.headers)
{'Date': 'Fri, 18 Feb 2022 07:35:02 GMT', 'Content-Type': 'application/json', 'Content-Length': '369', 'Connection': 'keep-alive', 'Server': 'gunicorn/19.9.0', 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Credentials': 'true'}
POST
post:data, json
请求体
data:字典。对应的默认body格式Content-Type:application/x-www-form-urlencoded
json:字典。对应的默认body格式Content-Type:application/json
data = {'key1': 'value1', 'key2': 'value2'}
headers = {'user-agent': 'my-app/0.0.1'}
url = "https://httpbin.org/post"
方式一:参数类型为字典、元组列表、字节或类似文件
r = requests.post(url, data=data, headers=headers)
方式二:参数类型为json串
r = requests.post(url, json=data, headers=headers)
PUT
data = {'key1': 'value1', 'key2': 'value2'}
headers = {'user-agent': 'my-app/0.0.1'}
url = "https://httpbin.org/put"
方式一:参数类型为字典、元组列表、字节或类似文件
r = requests.put(url, data=data, headers=headers)
方式二:参数类型为json串
r = requests.put(url, json=data, headers=headers)
DELETE
data = {'key1': 'value1', 'key2': 'value2'}
headers = {'user-agent': 'my-app/0.0.1'}
url = "https://httpbin.org/delete"
r = requests.delete(url, params=data, headers=headers)
查看请求地址print(r.url)
https://httpbin.org/delete?key1=value1&key2=value2
查看请求头print(r.request.headers)
{'user-agent': 'my-app/0.0.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'Content-Length': '0'}
HEAD
CONNECT
OPTIONS
TRACE
响应数据
函数名 | 描述 |
---|---|
r.text | 返回请求体为字符串 |
r.json() | 返回请求体为json串 |
r.status_code | 响应码 |
获取cookie
方式一
import requests
# 第一步 实例化Session对象
s = requests.Session()
print("登陆之前的cookies:",s.cookies)
# 第二步:登陆,得到cookies鉴权。
login_url = "https://www.ketangpai.com/UserApi/login"
login_datas = {"email":"2501768591@qq.com",
"password":"nmb_python",
"remember":0}
response = s.post(login_url,data=login_datas)
print("登陆响应的cookies: ",response.cookies)
print("登陆之后的cookies:",s.cookies) # 主动会将响应的set-cookies添加到s对象当中。
# 第二种方式:自己主动获取 cookies,并在后续的请求当中,主动加上cookies
# 第二步:获取用户信息,直接使用对象调用get方法
userinfo_url = "https://www.ketangpai.com/UserApi/getUserInfo"
resp = s.get(userinfo_url)
print(resp.json())
方式二
import requests
# 第一步 - 登陆,得到cookies鉴权。
resp = requests.post(login_url,data=login_datas)
# 主动获取cookie
cookies = resp.cookies
print(cookies)
# 第二步: 获取用户信息
resp = requests.get(userinfo_url,cookies=cookies)
print(resp.json())
获取token
import requests
headers = {"X-Lemonban-Media-Type": "lemonban.v2"}
# 第一步:登陆,拿token
login_url = "http://api.lemonban.com/futureloan/member/login"
login_datas = {"mobile_phone": "13845467789", "pwd": "1234567890"}
resp = requests.post(login_url,json=login_datas,headers=headers)
# for key,value in resp.json().items():
# print(key,value)
resp_dict = resp.json()
print(resp_dict)
token = resp_dict["data"]["token_info"]["token"]
member_id = resp_dict["data"]["id"]
print(token)
# 第二步:充值,将token添加请求头当中: Authorization:Bearer token值
headers["Authorization"] = "Bearer {}".format(token)
print(headers)
recharge_url = "http://api.lemonban.com/futureloan/member/recharge"
recharge_data = {"member_id": member_id, "amount": 2000}
# json=recharge_data,会将在请求头加上 "Content-Type": "application/json"
resp = requests.post(recharge_url,json=recharge_data,headers=headers)
print(resp.json())
更多推荐
所有评论(0)