接口自行化测试--网络请求requests(三)

接口自行化测试--网络请求requests(三),第1张

接口自行化测试--网络请求requests(三)

目录

一、requests上手

二、requests的带参形式

三、requests的headers形式

总结


一、requests上手

        使用python进行编码,当涉及到网络逻辑时需要发起网络请求,而requests包就是用来实现网络请求功能的。

        上手代码片段如下:

# coding = utf-8
# myrequests1.py

import requests

response = requests.get("https://api.baidu.com/userlogin")
print(response.status_code)
print(response.text)
print(response.content)
print(response.json())

        代码注释:

        1.requests库并不是python自带的,故在使用前需要先在项目路径下安装:pip install requests

        2.http请求最常用的两种方式即为get、post,函数传参可进入函数内部了解,或查阅文档

        3.所有url地址都是虚构的,也许真有此url,但我真是随手写的

        4.网络请求之后返回结果,打印出来看看效果,包括:状态码、文本内容、二进制内容、json格式

二、requests的带参形式

        带参形式,就是在get、post等网络请求中,使用携带参数的方式对url进行访问。

        get带参代码片段如下:

# 编写get方式的带参网络请求
# myrequests2.py

import requests

data = {"vedio_id":01}
url = "https://api.baidu.com/vedio_list"
response = requests.get(url,data)
print(response.json())

        代码注释:

        1.要传入的参数data。这里将url、data用变量赋值了,直接放在函数中感觉不好看

        2.打印一下看看结果。当然了,这里需要真实的项目中url和data,才能成功打印

        

        post带参代码片段如下:

# 编写post方式的带参网络请求
# myrequests3.py

import requests

# 1.Content-Type:application/json
mydata = {"phone":"13712345678","pwd":"1234567890"}
myurl = "https://api.baidu.com/user_login"
response = requests.post(myurl,json=mydata)

# 2.Content-Type:application/x-www-form-urlencoded
mydata = """
 """
myurl = "https://api.baidu.com/user_login"
response = requests.post(myurl,data=mydata)
print(response.json())

        代码注释:

        1.post方式有两种传参方式,针对不同的content-type,需要指定参数类型

        2.json格式,传参时使用json=指明;x-www-form-urlencoded格式,传参时使用data=指明

        3.且两种方式时,传参数据也对应不同格式:json、form(即html中的表单知识)

        4.json格式时,发送网络请求提交的数据为序列化的json字符串

        5.x-www-form-urlencoded格式时,发送网络请求提交的数据为key1=val形式的键值对

        带参形式逻辑注释:

        1.在实际项目中,往往接口携带数据多而杂,不可能直接写在url中一起进行网络请求,故拆分出来作为参数,传入requests方法中

        2.(更多体会有待补充,或提问提醒)

三、requests的headers形式

        headers属于http协议的原理知识点。

        带有headers请求头的代码片段如下:

# 带有headers请求头的代码片段
# myrequests4.py

import requests

myheaders = {"token":"baidudjaerlgbvadvaerilghzvnja;wnrganfvjkldbgjbvaldvf"}
myurl = "https://api.baidu.com/user_info"
response = requests.get(myurl,headers=myheasers)
print(response.json())

        代码逻辑:

        1.获取请求头里的token字段,在实际项目中需抓包对于接口获取(fiddler、Charles工具知识)

        2.使用headers=形式将参数传入

总结

        requests常用到的内容就是这些,更加需要磨练的是在实际项目中的使用,以及针对实际项目利用requests实现用例的逻辑。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5578642.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存