Requests请求格式

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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值