【问题标题】:Can't use CNTLM to connect to pip无法使用 CNTLM 连接到 pip
【发布时间】:2013-09-29 06:57:42
【问题描述】:

我正在尝试在需要身份验证的代理服务器后面使用 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 不起作用,仍然给我一个超时。知道我不需要另一个代理一切都很好而且花花公子,但 pip 仍然超时。端口 3128 正在工作,因为我可以在该端口上 telnet,它显示为在 netstat 下侦听。那么我应该从这里做什么呢?

谢谢。

【问题讨论】:

  • 我也有同样的问题。 Cntlm 适用于浏览和其他 stuufs,但对于 pip 它给了我一个错误。仅当我更改 pip 以直接连接到代理服务器而不使用 cntlm 时才有效。

标签: python proxy


【解决方案1】:

我也遇到了同样的问题。

cntlm 用于认证代理服务器,这些语句意味着你的服务器不需要认证。

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

pip install --proxy=10.0.0.1:80 package_name

如果这可行,您就知道您无需身份验证即可访问网络。如果仍然失败,请尝试:

pip install --proxy=user:password@10.0.0.1:80 package_name

这可以绕过身份验证。我写了一个小 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

【讨论】:

    猜你喜欢
    • 2012-12-18
    • 2020-04-14
    • 2023-01-18
    • 2019-12-02
    • 2017-12-08
    • 1970-01-01
    • 2012-11-04
    • 2014-02-16
    • 2021-04-01
    相关资源
    最近更新 更多