【问题标题】:Python urllib2 gives error 503Python urllib2 给出错误 503
【发布时间】:2014-01-21 10:14:48
【问题描述】:

我正在尝试运行以下简单代码:

import urllib2
import base64

username = "some_user"
password = "some_pass"
url = "some_url"

req = urllib2.Request(url)
authheader =  "Basic %s" % base64.encodestring('%s:%s' % (username, password))
req.add_header("Authorization", authheader)
req.add_header('User-agent', 'Mozilla/5.0')

resp = urllib2.urlopen(req)
print resp.read()

它在 Windows 上运行良好,但在 Linux 下的同一台机器上它不起作用,它给出代码 503 的 URL 异常。我确定服务器没有问题,因为它在 Mozzila 和 curl 下运行良好(两者都在林赢)。什么会导致这个问题?

【问题讨论】:

  • 抛出什么异常?
  • 它会抛出带有代码 503(服务不可用)的 URLError - 但我确信该服务是可用的,因为我已经使用 Mozzila 和 curl 进行了尝试。 (文档中的 503:docs.python.org/release/2.6/howto/urllib2.html
  • 我怀疑它与base64和utf有关。你的文件有 utf8 字符集吗?尝试在上面添加:#!/usr/bin/env python # -*- coding: utf-8 -*-

标签: python linux http get urllib2


【解决方案1】:

我遇到了类似的问题,最终发现我有一个环境变量“http_proxy”实际上指向了代理服务器。当我删除环境变量或在 Python 脚本中将其显式设置为空时,我的问题就消失了。

【讨论】:

    猜你喜欢
    • 2015-02-05
    • 2011-10-01
    • 2011-06-18
    • 2016-10-16
    • 1970-01-01
    • 1970-01-01
    • 2015-03-04
    • 2016-10-22
    • 1970-01-01
    相关资源
    最近更新 更多