Python身份验证

Python身份验证,python,authentication,Python,Authentication,我想能够验证一个网站,然后访问该网站的一些私人网页。我看了一些例子和教程,但我不能让它工作 例如,我想访问仅在身份验证后可用的。以下是我使用的代码: url = 'https://www.billmonk.com/home' values = {'usercontact' : 'myemail@gmail.com', 'password' : 'somepass'} data = urllib.urlencode(values) req = urllib2.Request(

我想能够验证一个网站,然后访问该网站的一些私人网页。我看了一些例子和教程,但我不能让它工作

例如,我想访问仅在身份验证后可用的。以下是我使用的代码:

url = 'https://www.billmonk.com/home'
values = {'usercontact' : 'myemail@gmail.com',
          'password' : 'somepass'}

data = urllib.urlencode(values)
req = urllib2.Request(url, data)

cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
urllib2.install_opener(opener)

response = opener.open(req)
the_page = response.read()
这似乎不起作用。我总是得到一个带有“您必须登录才能访问此页面”页面的页面

我错过了什么明显的东西吗


谢谢

查看BillMonk页面的源代码,登录操作似乎是一个
POST
/sign\u in
(而不是您的代码使用的
/home

Cookies(我没有理由在Python中使用Cookies),已知有些站点拒绝Python HTTP请求,因为它们不喜欢
用户代理
字段。@msw:在Python文档中,“有些HTTP服务器只允许来自普通浏览器而不是脚本的请求”。有趣。不过看起来有个解决办法。“头应该是一个字典,并将被视为使用每个键和值作为参数调用add_header()。这通常用于“欺骗”用户代理头,浏览器使用该头来标识自身。”。或者,嘿,成功了!就我而言,我需要先进入/登录,然后进入/主页获取我感兴趣的页面。谢谢