在python上访问带有基本身份验证的网页

在python上访问带有基本身份验证的网页,第1张

概述我正在尝试使用机械化连接网页,但我收到了http 401错误. 这是我的代码; import base64, mechanizeurl = "http://www.dogus.edu.tr/dusor/FrmMain.aspx"user = "user"pwd = "pwd"br = mechanize.Browser()br.set_handle_robots(False)br. 我正在尝试使用机械化连接网页,但我收到了http 401错误.

这是我的代码;

import base64,mechanizeurl = "http://www.dogus.edu.tr/dusor/FrmMain.aspx"user = "user"pwd = "pwd"br = mechanize.browser()br.set_handle_robots(False)br.set_handle_refresh(mechanize._http.httpRefreshProcessor(),max_time=1)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(url,user,pwd)#br.addheaders.append(('Authorization','Basic %s' % base64.encodestring('%s:%s' % (user,pwd))))print br.open(url).read()

add_password和addheaders都不起作用.是因为我从未指定过领域吗?我怎样才能获得该网页使用的领域?我正在使用的用户名和密码是正确的,因为我可以使用带有这些凭据的Chrome登录.

解决方法 您用作示例页面的站点需要 NTLM身份验证.您可以通过查看返回的header字段来查看此信息.例如curl -I http://www.dogus.edu.tr/dusor/FrmMain.aspx返回:
http/1.1 401 UnauthorizedContent-Length: 1293Content-Type: text/HTMLServer: Microsoft-IIS/7.0WWW-Authenticate: NegotiateWWW-Authenticate: NTLMX-Powered-By: ASP.NETDate: Mon,07 Apr 2014 21:24:09 GMT

行WWW-Authenticate:NTLM说,使用哪种身份验证方法.我认为这个问题Use python mechanize to log into pages with NTLM authentication的答案对你有帮助.

总结

以上是内存溢出为你收集整理的在python上访问带有基本身份验证的网页全部内容,希望文章能够帮你解决在python上访问带有基本身份验证的网页所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1204928.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存