1

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

那么如何在 Python 中的 MECHENIZE 的帮助下打开这个网站

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 Error 401: Authorization Required

我应该补充什么?

4

2 回答 2

1
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(

)

于 2013-08-29T20:09:45.023 回答
0

您没有提供用户名和密码

br.add_password("http://ab/cabs", "username", "pswd")
于 2013-08-29T20:03:58.303 回答