Python urllib2访问页面时不发送身份验证细节



我正在阅读urllib2教程,其中提到为了访问需要身份验证的页面(例如有效的用户名和密码),服务器首先发送错误码401的HTTP头,(python)客户端然后发送带有身份验证详细信息的请求。

现在,在我的情况下的问题是,存在两个不同版本的网页,一个可以访问不提供任何身份验证细节和一个是完全不同的,当身份验证细节提供(即当用户登录系统)。举个例子,想想url www.gmail.com,当你没有登录时,你会得到一个登录页面,但是如果你的浏览器记得你上次登录,那么结果是你的电子邮件帐户主页显示你的收件箱。

我遵循所有细节来设置handler进行身份验证并安装opener。但是,每次我请求页面时,返回的是没有用户登录的网页版本。

我如何访问已登录的其他版本的网页?

Requests使得这很容易。正如它的创造者所说:

Python的标准urllib2模块提供了您需要的大部分HTTP功能,但API完全被破坏了。

尝试使用Mechanize。它有cookie处理功能,允许你的程序"登录",即使它不是一个真实的人。

最新更新