|
|
30鱼币
原因是我想模拟登陆一下学校的用户系统,url为http://portal.jxufe.edu.cn/login/login.jsp。
但是发现,它会重定向很多次然后传很多次一个叫做JSESSIONID的cookie(预计这个cookie会在登陆的时候用到),然而一般情况来说urllib会自动完成响应头里的重定向的。 但是我的却没有,我的urllib 对这个url进行open的时候就等了三四十秒,然后直接给出404错误。不知为什么?请大神解释一下。
代码我写在了知乎,
https://www.zhihu.com/question/4 ... ofile_question_card
然后我按照知乎一个解答者的提示用了requests,没有那个404的问题了。 随之而来开的确实另一个问题,就是在重定向多次后的最后一个页面(呈现出来的显示页面)cookie不见了。如果我把 allow_redirects设置为False,可以发现没一个过程都是有cookie的,我也可以手动写进去。但是唯独最后一个页面,我是带着cookie去request的。response以后我的cookie就消失了。
代码如下
- import requests
- url = 'http://portal.jxufe.edu.cn/login/login.jsp'
- r = requests.get(url,allow_redirects=False)
- while(True):
- if r.status_code == 302:
- url = r.headers['Location']
- cookies = r.cookies
- #print(cookies)
- #print(r.headers)
- #print()
- r = requests.get(url,cookies=cookies,allow_redirects=False)
- else:
-
- break
- print(r.text)
复制代码
我试了一下,用你的方法请求确实是报404,然后我用session试了一下,是可以的
|
最佳答案
查看完整内容
我试了一下,用你的方法请求确实是报404,然后我用session试了一下,是可以的
|