Python urllib2:如何忽略HTTPError 401

时间:2010-07-27 16:12:28

标签: python urllib2

我想访问带有urllib2的网页,并且我一直收到HTTP错误401:未经授权。

现在,我的问题是,在使用像Firefox这样的浏览器时,此页面不需要任何身份验证。只有当我使用谷歌浏览器时,才会弹出身份验证对话框。虽然只有在页面完全加载后才会发生这种情况。所以我可以取消身份验证并正常使用该页面。

有没有人知道如何在没有身份验证的情况下打开此网页。非常感谢你!

P.S。页面网址为:http://61.19.248.15/ $ sitepreview / sampran.go.th /

3 个答案:

答案 0 :(得分:1)

这是有关身份验证的最佳文章之一。

http://www.voidspace.org.uk/python/articles/authentication.shtml

答案 1 :(得分:0)

如果Web服务器想要返回401状态而不是返回网页,则无论如何客户端都无法获取内容。相反,您必须说服服务器为该页面提供服务。也许它期待您已经在Firefox中保存的身份验证凭据。也许它想在你的http请求中看到Firefox的User-Agent标头。如果您无法猜测或询问服务器管理员,您可以尝试使用Wireshark来嗅探成功会话的网络会话,并将其与不成功会话的网络会话进行比较。

答案 2 :(得分:0)

我绕过这些错误:

    def append_text(string,n):
      i=1
      while i<n:
        i = i+1
        url = string + str(i)
        try:
            f = urllib.urlopen(url)
            s = f.read()
            ...
        except IOError, e:
          if hasattr(e, 'code'):
            print 'We got an error'
            print e.code