我正在阅读urllib2
教程,其中提到为了访问需要身份验证的页面(例如有效的用户名和密码),服务器首先发送错误码401的HTTP
头,(python)客户端然后发送带有身份验证详细信息的请求。
现在,在我的情况下的问题是,存在两个不同版本的网页,一个可以访问不提供任何身份验证细节和一个是完全不同的,当身份验证细节提供(即当用户登录系统)。举个例子,想想url www.gmail.com,当你没有登录时,你会得到一个登录页面,但是如果你的浏览器记得你上次登录,那么结果是你的电子邮件帐户主页显示你的收件箱。
我遵循所有细节来设置handler
进行身份验证并安装opener
。但是,每次我请求页面时,返回的是没有用户登录的网页版本。
我如何访问已登录的其他版本的网页?
Requests使得这很容易。正如它的创造者所说:
Python的标准urllib2模块提供了您需要的大部分HTTP功能,但API完全被破坏了。
尝试使用Mechanize。它有cookie处理功能,允许你的程序"登录",即使它不是一个真实的人。