【问题标题】:Unable to configure python to proxy无法将 python 配置为代理
【发布时间】:2013-06-05 17:43:39
【问题描述】:

以下与我的问题相关的早期帖子都无法为我提供解决方案。所以我在一个新线程中发布。

我通过我大学中经过身份验证的代理连接到互联网。所以在浏览器中,我输入我的用户名密码。但是我无法在 python 中下载数据。

我在python 2.7中输入了以下4行来下载数据。我已经成功安装了 pandas 和 datetime 库;所以下面的前两行没有问题。

from pandas.io.data import DataReader
from datetime import datetime
goog = DataReader("GOOG",  "yahoo", datetime(2000,1,1), datetime(2012,1,1))
print goog["Adj Close"]

我得到的错误如下:

Traceback (most recent call last):
File "C:\Program Files\Wing IDE 101 4.1\src\debug\tserver\_sandbox.py", line 3, in  <module>
pass
File "C:\Python27\Lib\site-packages\pandas\io\data.py", line 53, in DataReader
return get_data_yahoo(name=name, start=start, end=end)
File "C:\Python27\Lib\site-packages\pandas\io\data.py", line 134, in get_data_yahoo
lines = urllib.urlopen(url).read()
File "C:\Python27\Lib\urllib.py", line 86, in urlopen
return opener.open(url)
File "C:\Python27\Lib\urllib.py", line 211, in open
return getattr(self, name)(url)
File "C:\Python27\Lib\urllib.py", line 344, in open_http
h.endheaders(data)
File "C:\Python27\Lib\httplib.py", line 954, in endheaders
self._send_output(message_body)
File "C:\Python27\Lib\httplib.py", line 814, in _send_output
self.send(msg)
File "C:\Python27\Lib\httplib.py", line 776, in send
self.connect()
File "C:\Python27\Lib\httplib.py", line 757, in connect
self.timeout, self.source_address)
File "C:\Python27\Lib\socket.py", line 553, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
IOError: [Errno socket error] [Errno 11004] getaddrinfo failed

有什么线索吗??

【问题讨论】:

    标签: python-2.7


    【解决方案1】:

    对于 Windows 7:

    1. 右键单击Computer,然后选择Properties
    2. 在左侧,选择Advanced system settings
    3. 点击Advanced标签,然后点击Environment Variables
    4. 点击New..User Variables
    5. Variable name 中输入HTTP_PROXY,在Variable value 中输入http://username:password@proxy.com:port(其中proxy.com 是您的代理的主机名或IP 地址,port 是它的端口 - 从Internet Explorer)
    6. 单击“确定”,然后单击“确定”,然后再次单击“确定”以关闭所有对话框。

    现在,当你打开一个new命令终端时,Python应该可以上网了;以及任何 IDE(再次启动),都应该允许 Python 访问 Internet。

    对于 Windows XP,当您右键单击 My Computer 并选择 Properties 时,您将到达单击 Advanced 选项卡的相同对话框。

    Python 将在尝试连接到 Internet 之前读取 HTTP_PROXYHTTPS_PROXY 环境变量(如果已设置)。如果您使用代理并且缺少这些变量,则任何 Python 应用程序(除非特别豁免)都无法访问 Internet。因此,例如,您将无法pip install - 但是一旦您设置了这两个变量,Python 将使用代理,然后将连接到 Internet。

    【讨论】:

    • 谢谢。有效!但是,当我键入密码字符时,密码字符在 python shell 上是可见的。有什么办法可以让密码不可见?
    • 不幸的是没有办法屏蔽密码;但是您不应该在 Python shell 中输入任何内容。只需设置环境变量,然后打开一个新的命令提示符cmd.exe,然后无需任何其他配置,它应该可以工作。
    • 所以我正在开发 Wing IDE。所以当我运行命令时,它一个接一个地要求我输入用户名密码。我做错了什么吗?
    • 因为我没有使用 Wing IDE,所以无法评论。
    猜你喜欢
    • 2012-10-14
    • 2022-07-08
    • 2017-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多