5

[Windows 7 64 ビット; パイソン2.7]

Urllib2 を使用しようとすると、このエラーが発生します

Traceback (most recent call last):
  File "C:\Users\cYanide\Documents\Python Challenge\1\1.py", line 7, in <module>
    response = urllib2.urlopen('http://python.org/')
  File "C:\Python27\lib\urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "C:\Python27\lib\urllib2.py", line 400, in open
    response = meth(req, response)
  File "C:\Python27\lib\urllib2.py", line 513, in http_response
    'http', request, response, code, msg, hdrs)
  File "C:\Python27\lib\urllib2.py", line 438, in error
    return self._call_chain(*args)
  File "C:\Python27\lib\urllib2.py", line 372, in _call_chain
    result = func(*args)
  File "C:\Python27\lib\urllib2.py", line 521, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
**urllib2.HTTPError: HTTP Error 407: Proxy Authentication Required**

今、私は認証を必要とする大学のプロキシの背後にいるので、おそらくこれが起こっている理由です。しかし、Urllib2 はシステム設定から認証情報とプロキシ情報を取得することになっているのではないでしょうか?

プログラムにプロキシ情報を「ハードコード」するためにプログラムに挿入できる追加のコードがあることは理解していますが、それが最後の手段でない限り、実際にはそうしたくありません。学内の異なる認証 ID とパスワードを持つコンピュータ間でのプログラムの移植性が妨げられます。

4

1 に答える 1

2

プログラムは、Windows で設定された環境変数を認識する必要があります。したがって、これら 2 つの環境変数を Windows に用意してください。

HTTP_PROXY = http://username:password@proxyserver.domain.com

HTTPS_PROXY = https://username:password@proxyserver.domain.com

そして、スクリプトの実行に進みます。適切なオーセンティケーターを選択し、接続を続行する必要があります。

于 2012-09-20T20:59:09.267 に答える