鱼C论坛

 找回密码
 立即注册
查看: 3900|回复: 6

[已解决]urllib和requests

[复制链接]
发表于 2016-5-10 11:16:08 | 显示全部楼层 |阅读模式
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就消失了。
代码如下






  1. import requests

  2. url = 'http://portal.jxufe.edu.cn/login/login.jsp'
  3. r = requests.get(url,allow_redirects=False)

  4. while(True):
  5.     if r.status_code == 302:
  6.         url = r.headers['Location']
  7.         cookies = r.cookies

  8.         #print(cookies)
  9.         #print(r.headers)
  10.         #print()
  11.         r = requests.get(url,cookies=cookies,allow_redirects=False)
  12.     else:
  13.         

  14.         break




  15. print(r.text)
复制代码
最佳答案
2016-5-10 11:16:09
我试了一下,用你的方法请求确实是报404,然后我用session试了一下,是可以的
00000.png 11.png

最佳答案

查看完整内容

我试了一下,用你的方法请求确实是报404,然后我用session试了一下,是可以的
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-5-10 11:16:09 | 显示全部楼层    本楼为最佳答案   
我试了一下,用你的方法请求确实是报404,然后我用session试了一下,是可以的
00000.png 11.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-5-10 11:29:28 | 显示全部楼层
使用requests.Session
http://docs.python-requests.org/zh_CN/latest/index.html
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-5-10 16:39:43 | 显示全部楼层
一片模糊望尘世 发表于 2016-5-10 11:29
使用requests.Session
http://docs.python-requests.org/zh_CN/latest/index.html

你好 我用了Session 还是一样的情况。之前各种重定向的时候都能保持住原来传过来的cookie 只要一到最后显示的那个页面 cookie就没了。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-5-11 09:11:06 | 显示全部楼层
除非有特别需要,要不然重定向就让它自动处理,省事。另外,我看了一下,那个登陆是需要验证码的,像这种复杂的登陆,建议直接在浏览器登陆后拿到cookie,然后放到自己的代码中运行,省去了登陆逻辑,更省事。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-5-13 15:12:35 | 显示全部楼层
不明白原因,刚进入学习PYTHON 阶段。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-5-13 15:14:17 | 显示全部楼层
不明白原因,刚进入学习PYTHON 阶段。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-20 23:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表