python token发送请求_使用Python发送请求

本节内容#

requests安装

requests使用

JSON类型解析

requests库详解

带安全认证的请求

序言#

上节课我们学习了接口测试的理论,抓包工具及使用Postman手工测试各种接口,这节课我们主要讲解使用Python语言来发送接口请求,实现接口测试自动化。

发送请求,我们这里主要使用Python的一个第三方包(需要先安装):requests。

Python3自带的http.client和urllib.request都能发送http请求,不过相对来说使用较麻烦,第三方库requests让发送请求更简单,支持自动编码解码,会话保持,长连等

requests安装#

Windows: 打开cmd命令行,输入pip install requests,等待安装完成即可

Linux: (建议使用Python3),终端中输入pip3 install requests,等待安装完成即可

Mac: (建议使用Python3), sudo python3 -m pip install requests,等待安装完成即可

验证是否安装成功:

打开命令行,输入python,在python shell环境下输入import requests没有报错即安装成功

requests的使用#

一个最简单的GET请求#

发送一个请求分3步:

组装请求: 请求可能包含url,params(url参数),data(请求数据),headers(请求头),cookies等,最少必须有url

发送请求,获取响应:支持get,post等各种方法发送,返回的是一个响应对象

解析响应: 输出响应文本

打开Pycharm,新建一个demo项目,项目下新建一个Python文件,输入以下内容:

Copy

# 导入requests包

import requests

# 1. 组装请求

url = "http://httpbin.org/get" # 这里只有url,字符串格式

# 2. 发送请求,获取响应

res = requests.get(url) # res即返回的响应对象

# 3. 解析响应

print(res.text) # 输出响应的文本

带参数的GET请求#

Copy

import requests

url = "http://www.tuling123.com/openapi/api?key=ec961279f453459b9248f0aeb6600bbe&info=你好" # 参数可以写到url里

res = requests.get(url=url) # 第一个url指get方法的参数,第二个url指上一行我们定义的接口地址

print(res.text)

Copy

import requests

url = "http://www.tuling123.com/openapi/api"

params = {"key":"ec961279f453459b9248f0aeb6600bbe","info":"你好"} # 字典格式,单独提出来,方便参数的添加修改等操作

res = requests.get(url=url, params=params)

print(res.text)

传统表单类POST请求(x-www-form-urlencoded)#

Copy

import requests

url = "http://httpbin.org/post"

data = {"name": "hanzhichao", "age": 18} # Post请求发送的数据,字典格式

res = requests.post(url=url, data=data) # 这里使用post方法,参数和get方法一样

print(res.text)

JSON类型的POST请求(application/json)#

Copy

import requests

url = "http://httpbin.org/post"

data = '''{

"name": "hanzhichao",

"age": 18

}''' # 多行文本, 字符串格式,也可以单行(注意外层有引号,为字符串) data = '{"name": "hanzhichao", "age": 18}'

res = requests.post(url=url, data=data) # data支持字典或字符串

print(res.text)

data参数支持字典格式也支持字符串格式,如果是字典格式,requests方法会将其按照默认表单urlencoded格式转换为字符串,如果是字符串则不转化

如果data以字符串格式传输需要遵循以下几点:

必须是严格的JSON格式字符串,里面必须用双引号,k-v之间必须有逗号,布尔值必须是小写的true/false等等

不能有中文,直接传字符串不会自动编码

一般来说,建议将data声明为字典格式(方便数据添加修改),然后再用json.dumps()方法把data转换为合法的JSON字符串格式

Copy

import requests

import json # 使用到J

你可能感兴趣的:(python,token发送请求)