python - Mechanize 中的 HTTP 登录

标签 python web mechanize

我正在编写一个脚本来为一个网站实现自动化。但是当我打开这个网站时,它有一个登录服务器,要求输入用户名和密码,您需要通过该身份验证才能打开该网站。 我有授权详细信息。 authentication that is needed

那么如何在MECHANIZE IN PYTHON的帮助下打开这个网站

import urllib
 import re
import mechanize

br = mechanize.Browser()
response = br.open("http://ab/cabs");
print response.geturl()
print response.read()

但它给出了这个错误 httperror_seek_wrapper:HTTP 错误 401:需要授权

我应该添加什么?

最佳答案

from base64 import b64encode
import mechanize

url = 'http://192.168.3.5/table.js'
username = 'admin'
password = 'password'

# I have had to add a carriage return ('%s:%s\n'), but
# you may not have to.
b64login = b64encode('%s:%s' % (username, password))

br = mechanize.Browser()

# # I needed to change to Mozilla for mine, but most do not
# br.addheaders= [('User-agent', 'Mozilla/5.0')]

br.addheaders.append( 
  ('Authorization', 'Basic %s' % b64login )
)

br.open(url)
r = br.response()
data = r.read()

print data

也许没有尝试这也可以工作:

import urllib
 import re
import mechanize

br = mechanize.Browser()
response = br.open("http://USERNAME:PASSWORD@ab/cabs");
print response.geturl()
print response.read(

)

关于python - Mechanize 中的 HTTP 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18519944/

相关文章:

python - Ansible、Juniper CLI 命令。超时错误?

python - 根据域名更改联合 ID 的解决方法?

jquery - 当页面从未在初始加载时刷新时,bxslider 有时会正确显示

Python 3,使用请求(库)填写表单返回同一页面 HTML,无需输入参数

ruby - Mechanize /Nokogiri 无法使用 xpath 解析 XML

Python/Mechanize 无法识别输入表单

jquery - 如何将 "submit"表单发送到 ajax 脚本而不是返回到 Flask?

在面向对象编程中传递 Python 参数

html - 表格数据宽度不适用

java - 在 Java 网站中实现注册的最佳方法