2013-09-24 50 views
8

認証が必要なプロキシサーバーの背後でPipを使用しようとしています。私はcntlmをインストールし、ハッシュされたパスワードを記入しました。私はこれを実行すると:CNTLMを使用してpipに接続できません

cntlm -c cntlm.ini -I -M http://www.google.co.uk 

を私は自分のパスワードを入力して、結果としてこれを取得する:

Config profile 1/4... Auth not required (HTTP code: 200) 
    Config profile 2/4... Auth not required (HTTP code: 200) 
    Config profile 3/4... Auth not required (HTTP code: 200) 
    Config profile 4/4... Auth not required (HTTP code: 200) 

    Your proxy is open, you don't need another proxy. 

しかし、ピップはまだ私にタイムアウトを与えて、動作しません。私が別の代理人を必要としていないことを知っていると、すごく素敵ですが、ピップはまだタイムアウトします。ポート3128は、そのポートでtelnetできるので動作しており、netstatの下でリッスンしています。では、私はここから何をすべきですか?

ありがとうございます。

答えて

0

私はまったく同じ問題を抱えていました。

認証プロキシサーバーにはCntlmが使用されています。これらのステートメントは、サーバーに認証が必要ないことを意味します。

pipコマンドには--proxyオプションがあります。

pip install --proxy=10.0.0.1:80 package_name 

これが機能する場合は、ウェブにアクセスするための認証が必要ないことがわかります。それでも失敗する場合は、次のように試してみてください。

pip install --proxy=user:[email protected]:80 package_name 

これは認証を回避するために機能します。 Windowsでこれを回避するための小さなcmdスクリプトを書いた:

@echo off 
:: GetPwd.cmd - Get password with no echo. 
setlocal 
<nul: set /p passwd= 
for /f "delims=" %%i in ('python -c "from getpass import getpass; pwd = getpass();print  pwd;"') do set passwd=%%i 
echo. 

::Prompt for the package name 
set /p package=What package would you like to get: 

::Get the package with PIP 
pip install --proxy="admin:%passwd%@PROXY_ADDRESS:80" %package% 
endlocal 
関連する問題