第二章 使用requests库发送HTTP请求-2

感谢大家关注,帮忙分享呦,你们的阅读就是我的动力!!!

 第二章 使用requests库发送HTTP请求-2

2.4    携带headers发送请求

headers是构成http接口请求要素之一,在客户端与服务端之间以http协议传输信息的过程中,起到传递额外重要信息的作用,在接口测试中,具体携带哪个请求头由接口文档定义,如果不携带某个特定的请求头,则无法获取服务端的响应信息。

携带headers发送请求

#导入Requests库
import requests
#此处使用的接口地址为ZrLog系统后台登录的接口地址
url_login = "http://192.168.2.37/api/admin/login"
#请求的数据为JSON格式的字符串,并将请求的数据保存在data字典中
data = { "userName":"admin", "password":"36d5342fcc9eb465bee974d26e3e65d3",
                "https":False,"key":1650522766424 }
#请求的参数将携带Headers,并以字典的格式存放
headers = {'Content-Type': 'application/json'}
#通过Requests库发送POST请求,并携带Headers
r_res = requests.post(url=url_login,json=data,headers=headers)
#以文本的方式返回响应内容
print(r_res.text)
#以JSON格式返回响应的内容
print(r_res.json())

运行结果如下:

2.5 携带cookies发送请求 

很多朋友并不了解cookie是什么,Cookie,有时也用其复数形式 Cookies,指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。定义于 RFC2109 和 2965 中的都已废弃,最新取代的规范是 RFC6265。

举个例子,Shopee商家在网站上登录店铺时,会输入账号密码,这时候网页会询问是否保存记住密码,商家选择保存,二次登录就不用账号密码可以直接打开,商家选择不保存,二次登录时就需要重新输入账号密码,这样的一些数据和操作过程,就可以看做是一个cookie;

携带cookies发送请求

#导入Requests库
import requests
#此处使用的接口地址为ZrLog系统文章发布的接口地址
url = "http://192.168.2.37/api/admin/article/create"
#请求的数据类型为JSON格式的字符串,并存放在字典当中
data = {
        "id":None,
        "editorType":"markdown",
        "title":"您好",
        "alias": "您好",
        "thumbnail":None,
        "typeId":"1",
        "keywords":None,
        "digest":None,
        "canComment":False,
        "recommended":False,
        "privacy":False,
        "content":"<p>您好</p>\n",
        "markdown":"您好",
        "rubbish":False
        }
'''
新增文章时需要携带服务端返回的cookies,以验证用户的身份
此cookies已过期,请读者重新抓取cookies
'''
cookies = {"admin-token":"1#58774F6536324A46433877363458434E70724B7673676C617A2F6A7A5063774B335046726D6643304D7838776558544334323379633977537455655A746664354965436E72754C693976636735594F4F3157517431754C57786D552F44435256336E547237516A32504B6B3D"}
#此POST方法里面携带了cookies这个字段
r = requests.post(url=url,json=data,cookies=cookies)
#以文本的方式返回服务端响应的内容
print(r.text)
#以JSON格式返回服务端响应的内容
print(r.json())

运行结果如下

成功的发布了文章

 2.6   调用request()方法发送请求

requests库中request()方法其实是想url页面构造一个请求,常用的get方法、post方法是通过调用封装好的request()方法来实现的。通俗一点讲,调用request()方法可以直接用来发送post/get请求

调用request()方法发送post请求

#导入Requests库
import requests
#此处使用的接口地址为ZrLog系统后台登录的接口地址
url_login = "http://192.168.2.37/api/admin/login"
#请求的数据为JSON格式的字符串,并将数据保存在字典中
data = {
        "userName":"admin",
        "password":"d246a0bf7514ebcbc4624e5a64fe286b",
        "https":False,
        "key":1615908685980
        }
#定义method参数的值为post
method = "post"
#调用request()方法来发送POST请求,而request()方法中加入了method参数
r_res = requests.request(
                            url=url_login,
                            method=method,
                            json=data,
                            verify=False
                        )
#以文本的方式返回响应内容
print(r_res.text)
#以JSON格式返回响应内容
print(r_res.json())

运行结果如下:

END


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