13

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

    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. 

ただし、 pip は機能せず、タイムアウトが発生します。私が別のプロキシを必要としないことを知っていることはすべてうまくいきますが、ピップはまだタイムアウトします. ポート 3128 は、そのポートで telnet できるため機能しており、netstat でリッスンしていると表示されます。じゃあここからどうすればいいの?

ありがとうございました。

4

1 に答える 1

1

まったく同じ問題がありました。

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

pip コマンドには--proxyオプションがあります。次のようなものを使用してみてください:

pip install --proxy=10.0.0.1:80 package_name

これが機能する場合、Web へのアクセスに認証は必要ないことがわかります。それでも失敗する場合は、次を試してください。

pip install --proxy=user:password@10.0.0.1: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
于 2013-10-15T16:51:02.060 に答える