2016-08-18 12 views
0

私はまだPythonには新しく、このエラーを処理する方法とそれを避けるために何をするのか分かりません。Pythonのリクエストを使用するlib ProxyErrorを投げる

私はrequests.get('http://www.baidu.com')

import requests 
    header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36'} 
    h=requests.get('http://www.baidu.com',headers=header) 
    print h.text 

を使用する場合それはProxyErrorをスロー:

Traceback (most recent call last): 
    File "D:/freedomcoder/Code/Python/rexx/rexx.py", line 8, in <module> 
    h = requests.get('http://github.com/kennethreitz/requests/issues/3050',headers=header) 
    File "C:\Python27\lib\site-packages\requests\api.py", line 70, in get 
    return request('get', url, params=params, **kwargs) 
    File "C:\Python27\lib\site-packages\requests\api.py", line 56, in request 
    return session.request(method=method, url=url, **kwargs) 
    File "C:\Python27\lib\site-packages\requests\sessions.py", line 475, in request 
    resp = self.send(prep, **send_kwargs) 
File "C:\Python27\lib\site-packages\requests\sessions.py", line 596, in send 
    r = adapter.send(request, **kwargs) 
    File "C:\Python27\lib\site-packages\requests\adapters.py", line 485, in send 
    raise ProxyError(e, request=request) 
requests.exceptions.ProxyError: HTTPConnectionPool(host='107.160.9.10', port=80): Max retries exceeded with url: http://www.baidu.com/ (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x02EE4170>: Failed to establish a new connection: [Errno 10061] ',))) 

しかし、私はrequests.get('https://www.baidu.com')を使用する場合、それは正しいページを返します。なぜこれが当てはまるのか分かりません。

+0

私はちょうどあなたのコードを実行すると、それは大丈夫です。 ヘッダーを削除する必要があります。 – giaosudau

+0

まだ動作しません。 : システムを再インストールする必要がありますか?@ giaosudau – freedomcoder

答えて

-1

あなたのコードをテストしたところ、うまくいくようです。

他にも述べたように、この問題はネットワーク接続エラーの可能性があります。私は、問題に対処CLI経由で問題を検証する

一つの方法(この例ではsoconnectionが正常に開かれたような接続は、開く必要があります...)

$ telnet baidu.com 80 
Trying 220.181.57.217... 
Connected to baidu.com. 
Escape character is '^]'. 
+0

HTTPConnectionPool(host = '107.160.9.10'、port = 80)ホストが私のvpsのIPアドレスであることがわかります。それ....... – freedomcoder

1

はただのプロキシを追加= { 'のhttp': ''、 'httpsを': ''}例えば

h=requests.get('http://www.baidu.com', proxies={'http':'','https':''}) 
関連する問題