当前位置:网站首页>requests库访问接口
requests库访问接口
2022-08-10 16:02:00 【InfoQ】
安装
pip install requests
发送请求
发送 GET 请求
url = '<http://httpbin.org/get>'
resp = requests.get(url )
发送 POST 请求
url = '<http://httpbin.org/post>'
resp = requests.post(url)
指定请求方法
url = '<http://httpbin.org/post>'
resp = requests.request(method='post', url=url)
传输参数
GET 和 POST 都可以传递 URL 参数
params = {"page": 3}
requests.get(url, params=params)
POST 通过 multipart/form-data 传递参数,GET 请求不可以
data = {"username": "abc", "password": "123456"}
requests.post(url, data=data)
POST 通过 json 传递参数,GET 请求不可以
data = {"username": "abc", "password": "123456"}
requests.post(url, json=data)
获取响应
获取文本
resp.text
获取 json
resp.json()
获取二进制数据
resp.content
它们之间的关系

鉴权
session 鉴权
课堂派中就是使用这种方式,登录后获取用户信息不需要手工添加其他的参数了。

def login_with_session():
s = requests.Session()
login_url = 'https://v4.ketangpai.com/UserApi/login'
data = {
"email": "w3.com",
"password": "ad6",
"remember": "0"
}
s.post(login_url, data)
user_url = 'https://v4.ketangpai.com/UserApi/getUserInfo'
r = s.get(user_url)
print(r.text)
也可以手工添加 cookie:
def login():
url = 'https://v4.ketangpai.com/UserApi/login'
data = {
"email": "wcom",
"password": "456",
"remember": "0"
}
r = requests.post(url, data)
sid = r.cookies.get('PHPSESSID')
url = '<https://v4.ketangpai.com/UserApi/getUserInfo>'
r = requests.get(url, cookies={'PHPSESSID': sid})
print(r.text)
token
def login():
url = 'http:///login'
data = {
"mobile_phone": "18111112222",
"pwd": "12345678"
}
r = requests.post(url, json=data, headers=headers)
content = r.json()
member_id = content['data']['id']
token_type = content['data']['token_info']['token_type']
token = content['data']['token_info']['token']
url = f'<http:/{member_id}/info>'
r = requests.get(url, headers=headers)
print(r.text)
扩展
- xml 格式数据请求和响应解析(application/xml)
我是九柄,公众号【 九柄 】,分享软件测试文章、面试、教程资料,欢迎来看看。
边栏推荐
猜你喜欢
随机推荐
软件配置 | pip下载第三方库文件及配置pip源的不完全总结
力扣+牛客--刷题记录
h5开容器,新页面返回遇到的问题
如何修改gif图片尺寸?教你一键裁剪gif尺寸
cmake记录
山西:一煤矿发生死亡1人安全事故 被责令停产整顿
产品说明丨如何使用MobPush快速创建应用
如何修改gif尺寸?1分钟教你快速修改gif尺寸
架构设计之一——基础架构
Reids 源码导读
LeetCode-692. Top K Frequent Words
基础填空以及编程题
I met a 25k+ from Tencent, he let me see what kind of basic ceiling
2022年软考复习笔记一
不同主机收不到组播消息原因分析
持续集成实战 —— Jenkins自动化测试环境搭建
【服务器数据恢复】raid5崩溃导致lvm信息和VXFS文件系统损坏的数据恢复案例
LeetCode-922. Sort Array By Parity II
Ameya360成为稳先微电子中国区域授权代理!
为什么中国的数字是四位一进,而西方的是三位一进?