写点什么

requests 库访问接口

作者:和牛
  • 2022 年 8 月 10 日
    湖南
  • 本文字数:1049 字

    阅读完需:约 3 分钟

安装

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)




我是九柄,公众号【 九柄 】,分享软件测试文章、面试、教程资料,欢迎来看看。

发布于: 刚刚阅读数: 4
用户头像

和牛

关注

还未添加个人签名 2018.04.25 加入

python程序员,wx号:shoubian01

评论

发布
暂无评论
requests库访问接口_测试_和牛_InfoQ写作社区