2017-02-21 19 views
0

我是python请求的新手,我正在使用它来刮取网站并访问某个网页,首先我登录,然后再为其他网页做几个请求:如何在使用python请求时在多个请求中使用相同的cookie

import requests 

url1 = 'https://ringzer0team.com/login' 
s = requests.Session() 

request = s.get(url1) 
print s.cookies 
print request.cookies 
request = s.post(url1, auth=('username', 'password')) 
print request.cookies 

url2 = 'https://ringzer0team.com/home' 
request = s.get(url2, cookies = s.cookies) 
print request.cookies 

url3 = 'https://ringzer0team.com/challenges' 
request = s.get(url3, cookies = s.cookies) 
print request.cookies 

url4 = 'https://ringzer0team.com/challenges/13' 
request = s.get(url3, cookies = s.cookies) 
print request.cookies 

我相信这是因为Cookie获取会话过程中丢失,这里是输出我得到:

my output

正如你所看到的,cookie丢失后,我发表我的凭据url1和我可以得到url的内容2但不是那些url3和url4。 s.cookies始终保持不变,所以我一直试图在所有获取请求中使用它,但没有取得任何成功。任何帮助,将不胜感激。

回答

0

的请求文档说,Advanced Usage下:

但是请注意,该方法级的参数将不会在请求即使使用会话持久。 [...]

如果您想手动向会话中添加cookie,请使用Cookie utility functions来操作Session.cookies。

引用的资源主要说明如何在整个会话中保持cookie。

相关问题