python - 使用 python mechanize 自动登录

标签 python mechanize autologin

所以这是我第一次编程,我正在尝试使用 python/mechanize 自动登录网站。这是我的代码:

import mechanize
import cookielib

# Browser
br = mechanize.Browser()

# Cookie Jar
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)

# Browser options
br.set_handle_equiv(True)
br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)

# Follows refresh 0 but not hangs on refresh > 0
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)

# Want debugging messages?
br.set_debug_http(True)
br.set_debug_redirects(True)
br.set_debug_responses(True)


br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615  Fedora/3.0.1-1.fc9 Firefox/3.0.1')]

br.add_password('http://newiso.accellion.net/w', 'USERNAME', 'PASSWORD')
br.open('http://newiso.accellion.net/w')


# Show the html title
print br.title()

# Show the response headers
print br.response().info()

# Show the available forms
for f in br.forms():
   print f

br.form["g_username"] = "USERNAME"
br.form["password"] = "PASSWORD"

import urllib
opener = urllib.FancyURLopener()
print opener.open('http://USERNAME:PASSWORD@newiso.accellion.net/').read()

我不断收到此错误:

Traceback (most recent call last):
File "/Users/dancetrina/Documents/login.py", line 45, in <module>
br.form["g_username"] = "USERNAME"
TypeError: 'NoneType' object does not support item assignment

这是否意味着我无法使用 mechanize 输入用户名/密码?或者我缺少什么可以让它发挥作用吗?提前非常感谢您!

最佳答案

在最后一个(并且:-))for循环中,您应该编写:

f.form["g_username"] = "USERNAME"
f.form["password"] = "PASSWORD"

关于python - 使用 python mechanize 自动登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18265240/

相关文章:

Python不执行写命令

python - 计算菱形图案中星星的数量

python - 为什么要使用 SQLAlchemy?编码很方便吗?

Ruby Mechanize 不通过请求传递 cookie

iphone - 如何使用 PhoneGap API 保存用户登录凭据?

python - numpy.linalg.eigh 与 numpy.linalg.svd 相比如何?

ruby-on-rails - Ruby Mechanize Gem 查找没有名称的字段

Perl WWW::Mechanize::Firefox 截图不包含背景

带有 cookie 保存的 Python 登录脚本

iOS:如何检查钥匙串(keychain)中是否保存了数据?