前言:
这个代码可以怎么用
1、可以用于做get和post的参数化
2、找到检查点,把不符合要求的打印出来
一、代码如下
import requests
if __name__ == '__main__':
f = open("book.txt", mode="r+", encoding="utf-8")
book = f.readline().replace('\n', '')
while book != '':
url = f'https://www.apiopen.top/novelSearchApi?name={book}' # get请求含参数
r = requests.get(url)
if r.status_code != 200:
print(r.json(), url)
book = f.readline().replace('\n', '')
f.close()
二、我的演示
打印出没有通过测试的脚本,我这个脚本是通过的,200通过
三、参数化调用 ,从文本中读取txt值
book.txt的内容
呼啸山庄
双城记
雾都孤儿
傲慢与偏见
鲁滨孙漂流记
四、我们写出这段代码要了解的知识
4.1 调用requests库去实现接口自动化
get
import requests
url='https://www.apiopen.top/novelSearchApi?name=老人与海'#url换
r=requests.get(url)
print(r.json(),url)
post------------模板 我们只需要修改url、参数、请求头、cookie的内容就可以了
4.2.1、json格式的post请求
import requests
import json
url='https://www.apiopen.top/novelSearchApi?name=老人与海'#url换
data={'name':'老人与海'}
cookie={'key':'values'}
header={'key':'values'}
r=requests.post(url,data=json.dumps(data),cookie=cookie,header=header)
print(r.json(),url)
4.2.2、普通格式的post请求
import requests
url='https://www.apiopen.top/novelSearchApi?name=老人与海'#url换
data={'name':'老人与海'}
cookie={'key':'values'}
header={'key':'values'}
r=requests.post(url,data=data,cookie=cookie,header=header)
print(r.json(),url)
五、怎么进行参数化
用参数化必须学会使用format,这个在get和post里都可以适用,一般都是替换参数
例如:
name=王磊
name={}.format(book)
import requests
book='老人与海'
url='https://www.apiopen.top/novelSearchApi?name={}'.format(book)#get请求含参数
r=requests.get(url)
print(r.json(),url)
六、怎么判断code的值,也就是做检查点
if r.status_code != 200:
print(r.json(), url)