python3 requests基础使用教程

  • Post author:
  • Post category:python


最近换了新工作,从Android测试转到web测试,接口自动化也从java转成了python,最近也在一直学习相关的内容,如果你有什么疑惑或者好的学习想法可以评论或者私信大家一起学习,奥利给 开始正题

步骤:requests库安装、get/post使用、举例说明


安装requests库

  • 使用pip安装:pip3 install requests   Mac使用 sudo pip3 install requests
  • 在pycharm中安装,点击+ 搜索requests 安装就OK啦


常用的使用方法:Get、Post


这里我只介绍get和post的使用


  • get请求

get无参数:requests.get(url = url)

get有参数:requests.get(url = url,

params

= params,headers = headers)

需要关注的位置:get请求使用params参数


  • post请求

requests.post(url = url,data = data,headers = header)

需要关注的位置:post请求使用data参数


参数介绍:

  • url  ==  接口地址
  • params  ==  请求参数(get请求使用)  data == 请求参数(post请求使用)
  • headers == 请求头

url、params、data怎么获取我这里就不具体说明了,这些你肯定是知道的


headers获取方法


方法1:在web  F12_Network 可以看到request Headers


方法2:使用抓包工具  例如:Charles


方法3:copy as cURL,在使用工具进行转换,可以直接转换成请求方式(超级方便)

在线工具:

https://tool.lu/curl/

例子:

测试地址:

https://tools.miku.ac/yi_ge_ding_lia/

api地址:

https://tools-api.hazymoon.vip/yi_ge_ding_lia

请求方法:post

请求体:{“idiom”:”好自为之”}

请求头:

headers = {
    'authority': 'tools-api.hazymoon.vip',
    'accept': 'application/json, text/plain, */*',
    'authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtYWlsIjoiMjI4Mzg0MTM2OUBxcS5jb20iLCJzaWduIjoiVTJGc2RHVmtYMTlvc1hGa3lVR25yY0xYWmlweGpGcnh1NS82d0M1Zkovcz0iLCJpYXQiOjE2MjIwODE1OTAsImV4cCI6MTYyNDY3MzU5MH0.Qu-dy8-Ul_XnR84xubuOzVmegwEug58Tji_CM2LT7M4',
    'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36',
    'authsign': '1241baf20b8770e5db5f77d50fa294f6e8cd540a6427979aae7f1bd1f39f93ec.U2FsdGVkX1+ma8DnD/9D7dv0/BHYhAfv6e3Ppa58o/NOALBDh2SR7aPGha9k0Lx5',
    'content-type': 'application/json;charset=UTF-8',
    'origin': 'https://tools.miku.ac',
    'sec-fetch-site': 'cross-site',
    'sec-fetch-mode': 'cors',
    'sec-fetch-dest': 'empty',
    'referer': 'https://tools.miku.ac/',
    'accept-language': 'zh-CN,zh;q=0.9',
}

代码:

import requests

headers = {
    'authority': 'tools-api.hazymoon.vip',
    'accept': 'application/json, text/plain, */*',
    'authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtYWlsIjoiMjI4Mzg0MTM2OUBxcS5jb20iLCJzaWduIjoiVTJGc2RHVmtYMTlvc1hGa3lVR25yY0xYWmlweGpGcnh1NS82d0M1Zkovcz0iLCJpYXQiOjE2MjIwODE1OTAsImV4cCI6MTYyNDY3MzU5MH0.Qu-dy8-Ul_XnR84xubuOzVmegwEug58Tji_CM2LT7M4',
    'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36',
    'authsign': '1241baf20b8770e5db5f77d50fa294f6e8cd540a6427979aae7f1bd1f39f93ec.U2FsdGVkX1+ma8DnD/9D7dv0/BHYhAfv6e3Ppa58o/NOALBDh2SR7aPGha9k0Lx5',
    'content-type': 'application/json;charset=UTF-8',
    'origin': 'https://tools.miku.ac',
    'sec-fetch-site': 'cross-site',
    'sec-fetch-mode': 'cors',
    'sec-fetch-dest': 'empty',
    'referer': 'https://tools.miku.ac/',
    'accept-language': 'zh-CN,zh;q=0.9',
}

data = '{"idiom":"\u597D\u81EA\u4E3A\u4E4B"}'

response = requests.post('https://tools-api.hazymoon.vip/yi_ge_ding_lia', headers=headers, data=data)

返回结果:json格式

这章就到这里啦  下一章讲解如何处理返回的结果



版权声明:本文为bo222原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。