python机械化可以处理HTTP身份验证吗?

She*_*har 6 python mechanize

机械化(Python)失败了401,我打开http摘要URL.我用Google搜索并尝试调试但没有成功.

我的代码看起来像这样.

import mechanize

project = "test"
baseurl = "http://trac.somewhere.net"
loginurl = "%s/%s/login" % (baseurl, project)
b = mechanize.Browser()
b.add_password(baseurl, "user", "secret", "some Realm")
b.open(loginurl)
Run Code Online (Sandbox Code Playgroud)

Len*_*bro 6

Mechanize声称参数应该是uri,用户名和密码作为参数,但是您有四个参数.urllib2.add_password有四个参数是正确的,但第一个参数应该是领域,而不是uri.

http://wwwsearch.sourceforge.net/mechanize/

我试着先改变它.

trac是否需要消化?如果不是,下一步可能是尝试使用基本身份验证,作为测试是否有效,因为你只需添加addHeader:

import base64
from mechanize import Browser
browser = Browser()
browser.addheaders.append(('Authorization', 'Basic %s' % base64.encodestring('%s:%s' % (user, pwd))))
Run Code Online (Sandbox Code Playgroud)