1.在发起某些请求时,可能会要求必须是从某个页面进行请求,此时会验证页面的token
2.这个token是动态生成的,每次请求时值都是不同的,
不可以通过fiddler抓取的值作为固定值传入,通过fiddler抓到的是某次请求的一个值,
通过python发起请求时,又是新的请求了。
所以需要先获取,再传入。
有点类似获取随机数,再传递这个随机数
这里的例子是登录redmine,这个参数值是通过页面上的input[name=authenticity_token]标签传入的
3.可以使用BeautifulSoup获取:
BeautifulSoup用于爬虫时解析网页,可以获取到网页的标签。
在这里用于获取input[name=authenticity_token]标签的authenticity_token值,
它的返回值是列表,内容是一个标签,获取标签中属性值时,先通过列表索引知道元素,再通过键取值
from bs4 import BeautifulSoup
soup = BeautifulSoup(r2.text, ‘lxml‘)
tag = soup.select(‘input[name=authenticity_token]‘)
data = {"utf8": "?",
"authenticity_token": tag[0][‘value‘],
"username": "liuhui",
"password": "courageech123"}
res = s.post(url_2, data=data)
原文地址:https://www.cnblogs.com/come202011/p/12228881.html
时间: 2024-10-08 15:43:01