我正在尝试使用需要身份验证的代理服务器后面的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下显示为正在侦听.那我该怎么办?
谢谢.
我也遇到过完全相同的问题。
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)