无法使用CNTLM连接到pip

Ten*_*igh 10 python proxy

我正在尝试使用需要身份验证的代理服务器后面的Pip.我已经安装了cntlm并填写了哈希密码.当我运行这个:

    cntlm -c cntlm.ini -I -M http://www.google.co.uk
Run Code Online (Sandbox Code Playgroud)

我输入密码然后得到这个结果:

   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. 
Run Code Online (Sandbox Code Playgroud)

但是,pip不起作用,仍然给我一个超时.知道我不需要另一个代理是好的和花花公子,但pip仍然超时.端口3128正在工作,因为我可以在该端口上进行telnet,并在netstat下显示为正在侦听.那我该怎么办?

谢谢.

Dav*_*ner 1

我也遇到过完全相同的问题。

Cntlm 用于身份验证代理服务器,这些语句意味着您的服务器不需要身份验证。

pip 命令确实有一个--proxy选项。尝试使用类似的东西:

pip install --proxy=10.0.0.1:80 package_name
Run Code Online (Sandbox Code Playgroud)

如果这有效,您就知道访问网络不需要身份验证。如果仍然失败尝试:

pip install --proxy=user:password@10.0.0.1:80 package_name
Run Code Online (Sandbox Code Playgroud)

这可以绕过身份验证。我写了一个小cmd脚本来解决Windows中的这个问题:

@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
Run Code Online (Sandbox Code Playgroud)