解决方法:通过正则表达式去值,下面贴上实例代码
正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。
re 模块使 Python 语言拥有全部的正则表达式功能。
compile 函数可创建一个模式字符串和可选的标志参数组成的一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。
re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数。
使用方法
search(“正则的值”,“匹配的字符串”,取第一个值)
#首页访问接口
def test_phpwind(self):
url = "https://47.107.116.139/phpwind/"
res = requests.get(url=url)
result = res.text
#在文本中通过re正则表达式取值
#作为类变量存所取到的值
**TestApi.csrf_token = re.search('name="csrf_token" value="(.*?)',result).group(1)**
# .*? 是要寻找匹配的值
#登录接口
def test_login(self):
url = "https://47.107.116.139/phpwind/login"
data = {
**"csrf_token":TestApi.csrf_token**
}
res = requests.post(url=url,data=data)
print(res.json())