python中requests库的使用方法

参考资料:python中requests库使用方法详解

1、requests.session()

大部分的方法这位兄弟已经讲的分厂详细了,我就不赘述了。
我说一下在requests中非常好用的requests.session.get()或request.session.post()。大部分的web接口都会要求登录后才能访问,我们总不能每次在访问之前都先去登录,虽然可以但太麻烦。requests.session就很好的帮我们解决了这个问题。当我们登录的时候使用requests.session.post()登录成功后,服务器为了保持登录状态会在响应头中设置cookie信息,这是session会自动保存cookie,下一次再使用该session访问路由时就会自动携带保存的cookie信息,从而实现帮我们保持登录状态的目的。

例如flask项目防止csrf的实现:

session = requests.session()
# 1、在我们通过/login(GET)获取登录页面(表单)时,flask-wtf会自动往响应头的cookie中设置csrf_token的值,同时在表单中添加隐藏字段,值也是csrf_token.
resp = session.get(/login)  # session会自动保存设置在响应头中的cookie

data = {
	"csrf_token": "xxx"
	"username": "zhangsan",
	"password": "12345678',
	"submit": "登录"
}
resp = session.post(‘/login’, data)  # 2、会自动携带保存的cookie

# 3、验证
# flask中的CsrfProtect(app)会自动从提交的表单和cookie中取出csrf_token校验

2、selenium和requests获取元素的value值



(1)selenium中
chrome.find_element_by_id('test').get_attribute("value")  # bbb

(2)request中
element.xpath('//input[@id="test"]/@value')[0]  # bbb

你可能感兴趣的:(python)