requests 库之 get、post、put、delete 详解

摘要

使用脚本进行接口测试的时候,通常使用 python 的 requests 库进行测试。 本次主要给大家介绍 requests 的常见用法。

一、requests 库常见的请求方式

对于requests 的常见的请求方式通常是:get、post、put、delete

那么对于以上的方式用法该如何用呢?

二、接口测试之 get

结构:

requests.get(url,**kwargs) 或者

不需要单独参数:requests.get(url?params=xxxx)

解析:

get 请求是日常很常见的请求,实际工作中也不会有太多的get请求接口去进行测试。我们需要知道的是 requests 框架对于get请求的实际应用。

对于以上实例中,get 请求有两个参数,其中 url 是必须项。例如仅范围:https//www.baidu.com 

我们就可以写成如下代码,用 res 接受返回的值然后打印出来。

res=requests.get("https://www.baidu.com")
print(res.text)

当然有很多的 get 请求地址后方会传递参数,如下代码。

res=requests.get("https://www.baidu.com?s=123")
print(res.text)

也可以把参数分开

paras={"s":"123"}
res=requests.get("https://www.baidu.com",params=params)
print(res.text)

备注说明:get 请求参数利用requests 底层的参数 params

三、接口测试之 post

结构:requests.post(url,data,json,headers)

解释:对于post 请求通常先看接口请求的 Content-Type, 如果 Content-Type 为 application,那么我们就用 json 接受body体内容,如果 Content-Type 为 x-www-form-urlencoded、form-data 等表单类型,那么就用 data 作为接收 body 体内容。

如下是测试json 类型的接口请求示例:

header={"Content-Type":"application/json","Authorize":"xxx..token..."}
url="https://xxxxxxx"
data={key:value}
res=requests.post(url,json=data,headers=header)
print(res.json())

四、接口测试之 put 请求

结构:requests.put(url,data)

解释:对于put 请求,通常是上传文件操作。 我们需要知道上传文件的地址:url 和 上传的文件 data

对比其他请求的特殊性在于 data 如何获取?

获取data 的常用方式:with open() as f:

#请求头部信息
headers={
    "Content-Type":"image/json",
    "Authorization":"Bearer \9uX2F1dGhlbnRpY2F0aW9uIjoiQVVUSE9SSVpFRCIsImV4cCI6MTcwOTc0NzI5NCwiaWF0IjoxNzA5NzA0MDk0LCJ1c2VybmFtZSI6ImppYW5namljaGVuZzEifQ.xx0bxmOIflPqDJSfFuIohpEEhmP5FV9s44QUGFNZ9io",
    "Uniqcode":"N2NiMWliMTImMTcwOTcwNDEwNjY3OA=="}

#需要上传的文件绝对路径
file_path="/Users/admin/Downloads/zhuomian.png"

#请求体
data={"user_id":"511610","avatar":"/dxxxxe/xxxxx/xxxxx/xxxx/avxxxtor/51133610.jpeg"}

#put 请求应用:
with  open(file_path,"rb") as f:
requests.put(url="http://172.28.8.10:307/storage/env_storage/test/user/avator/51133610.jpeg", data=f)

五、接口测试之 delete 请求

结构:requests.delete(url=url,**kwargs)

实例:requests.delete(url,**kwars) 或者 requests.delete(url=url,**kwars)

delete 请求的应用方式可以说和 get 的一样,大家可以看上面的 get 请求来练习 get 请求。

GET、POST、PUT和DELETE是常见的HTTP请求方法。GET用于获取资源的信息,不会对服务器上的资源产生任何影响。POST用于向服务器提交数据,一般用于创建新的资源。PUT用于更新服务器上的资源,可以用于修改或替换已有的资源。DELETE用于删除服务器上的资源。 综上所述,HTTP请求方法的使用可以归纳为以下几种情况: - GET /url/xxx:用于获取指定资源的信息。 - POST /url:用于创建新的资源,提交数据到服务器。 - PUT /url/xxx:用于更新指定资源,修改或替换已有的资源。 - DELETE /url/xxx:用于删除指定资源。 更多关于这些HTTP请求方法的详细信息,您可以参考以下链接: - https://www.cnblogs.com/weibanggang/p/9454581.html - https://blog.csdn.net/qq_36183935/article/details/80570062 - https://blog.csdn.net/haif_city/article/details/78333213 - https://blog.csdn.net/justry_deng/article/details/80972817/<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Get、Put、PostDelete 含义与区别](https://blog.csdn.net/weixin_49770443/article/details/109805845)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [总结get、put、postdelete的区别和用法](https://blog.csdn.net/weixin_56921066/article/details/118608143)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值