我正在编写一个脚本来为一个网站实现自动化。但是当我打开这个网站时,它有一个登录服务器,要求输入用户名和密码,您需要通过该身份验证才能打开该网站。 我有授权详细信息。
那么如何在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/