Python-接口自动化(七)

    xiaoxiao2022-07-02  102

    requests模块(七) (八)requests模块

    1、requests是用python语言编写,属于第三方库,基于urllib,采用Apache2 Licensed开源协议的HTTP库,它比urllib更加方便,可以节约我们大量的工作,完全满足HTTP测试需求,总结成一句话就是:requests是用python实现的简单好用的http库。

    2、安装(以我自己的电脑安装为例,也可自行百度进行安装)

    我的电脑是Mac,版本是python3,之前在电脑上安装过homebrew,因为python3安装之后就会自动安装pip3,所以安装requests就可以直接在终端上输入:pip3 install requests,回车之后等安装完毕就可以了。

    3、运用

    例如:

    1 import requests 2 3 # get请求 4 url = 'http://www.baidu.com' 5 res = requests.get (url) # 返回一个消息实体(响应头 响应状态码 响应报文) 6 print (res) 7 8 print ("响应头", res.headers) 9 10 print ("响应状态码", res.status_code) 11 12 print ("响应报文", res.text) 1 import requests 2 3 # post请求 4 url = 'https://www.baidu.com/login' 5 data = {"mobilephone": "18784844884", "pwd": "123456"} 6 res = requests.post (url, data) 7 print (res) 8 print ("响应头", res.headers) 9 10 print ("响应状态码", res.status_code) 11 12 print ("响应报文", res.text)

    一般返回的报文内容是html、xml、json格式的话可以用text来获取返回的内容,只有json格式的返回值才会支持json(推荐使用json,方便取值),html、xml格式的如果用json来获取返回的内容会报错。

    再例如:

    ?可以用任意网站写代码进行测试或验证,下面这是最基本的利用requests来发起post和get请求。

    1 import requests 2 3 4 class HttpRequest: 5 '''利用requests封装get请求和post请求''' 6 7 def http_request(self,url,data,method,cookie=None): 8 '''URL:请求的地址 9 param:传递的参数 10 cookie:请求的时候传递的cookie值 11 method:请求的时候支持get和post 字符串形式的参数''' 12 if method.lower()=='get': 13 res = requests.post (url, data,cookies=cookie)#响应结果的消息实体 14 else: 15 res=requests.get(url,data,cookies=cookie)#响应结果的消息实体 16 return res #返回一个消息实体 17 18 19 if __name__ == '__main__': 20 url = 'http://xx.xx.xxx/login' 21 data = {"mobilephone": "test", "pwd": "test"} 22 res=HttpRequest ().http_request (url,data,'post') 23 print("登录结果是",res.json()) 24 25 # 充值 26 recharge_url='http://xx.xx.xxx/recharge' 27 recharge_data={"mobilephone":"test","amount":"1000"} 28 recharge_res=HttpRequest().http_request(recharge_url,recharge_data,'get',res.cookies) 29 print("充值的结果是",recharge_res.json())

    以上,第七部分到此结束~

    最新回复(0)