在conf init/proxy /之后使用CPAN与代理失败

Mic*_*pdx 17 perl configuration proxy cpan

我在企业环境中有一个Linux机器,其中Web访问通过需要身份验证的代理进行门控.

在第一次运行cpan期间,它会自动配置它通常执行的所有操作:

自动配置除"urllist"之外的所有内容.请立即拨打'o conf init urllist'配置您的CPAN服务器!

commit:写道'/usr/lib/perl5/5.10.0/CPAN/Config.pm'

知道我有一个代理来导航,并在网上阅读有关代理和cpan的文档和几个页面我:

cpan [1]> o conf init/proxy /

如果您通过代理访问网络,则可以在CPAN配置中或通过环境变量指定它们.$ CPAN :: Config中的变量优先.

你的ftp_proxy?[]

你的http_proxy?[] 10.12.8.9:3128

你的no_proxy?[]

如果您的代理是身份验证代理,则可以永久存储您的用户名.如果您不想这样,只需按RETURN即可.然后,您将在以后的每个会话中被要求提供用户名.

您的代理用户ID?[] my_net_id

您的身份验证代理的密码也可以永久存储在磁盘上.如果这违反了您的安全政策,只需按RETURN即可.然后,您将在以后的每个会话中被要求输入密码.

CPAN:Term :: ReadKey加载好(v2.30)您的代理密码?请记得调用'o conf commit'来使配置永久化!

cpan [2]> o conf commit commit:写道'/usr/lib/perl5/5.10.0/CPAN/Config.pm'

现在一切都应该好,对吧?所以我希望,

cpan [3]> i/Some :: Module/CPAN:Storable loaded ok(v2.18)

我想连接到以下网站之一以获取'authors/01mailrc.txt.gz':

http://www.perl.org/CPAN/ ftp://ftp.perl.org/pub/CPAN/

尝试连接到Internet可以吗?[是] LWP无法使用

尝试使用"/ usr/bin/curl -L -f -s -S --netrc-optional"来获取 http://www.perl.org/CPAN/authors/01mailrc.txt.gz卷曲:(22)请求的URL返回错误:407

系统调用"/ usr/bin/curl -L -f -s -S --netrc-optional" http://www.perl.org/CPAN/authors/01mailrc.txt.gz "> /root/.cpan/ sources/authors/01mailrc.txt.tmp29726"返回状态22(wstat 5632)警告:预期文件[/root/.cpan/sources/authors/01mailrc.txt.gz.tmp29726]不存在

尝试使用"/ usr/bin/wget -O /root/.cpan/sources/authors/01mailrc.txt.tmp29726"获取 http://www.perl.org/CPAN/authors/01mailrc.txt.gz - 2012-07-17 15:57:38-- http://www.perl.org/CPAN/authors/01mailrc.txt.gz连接到10.12.8.9:3128 ...已连接.发送代理请求,等待响应... 301永久移动位置: http://www.cpan.org/authors/01mailrc.txt.gz [关注] --2012-07-17 15:57:38-- http: //www.cpan.org/authors/01mailrc.txt.gz连接到10.12.8.9:3128 ...已连接.发送代理请求,等待响应... 407代理身份验证要求2012-07-17 15:57:38错误407:需要代理身份验证.

那么密码提示在哪里?

我缺少什么来配置cpan通过公司代理进行身份验证访问互联网?

Hat*_*low 24

您需要提供绝对代理URL地址以配置CPAN代理设置.不要担心,而不是提供简单的IP地址和端口号,请提供如下.

cpan> o conf init /proxy/

Your ftp_proxy? [] ftp://10.12.8.9:3128

Your http_proxy? [] http://10.12.8.9:3128

Your no_proxy? []
Run Code Online (Sandbox Code Playgroud)

并在需要时提供用户名密码(确保您拥有下载权限)

我也有同样的问题,但现在它为我工作.我也应该为你工作.

BR Jerry James


小智 9

安装LWP.cpan实用程序正在使用curl,我猜是因为它无法加载LWP.没有代理参数传递给curl,因此在运行命令之前需要导出http_proxy = http:// host:port /.

或者,如果您可以使用您的发行版的软件包管理器安装LWP,那么它应该正确配置代理访问.


小智 5

您可以在致电之前尝试使用此功能cpan

export http_proxy=http://my_net_id:my_net_pwd@10.12.8.9:3128/
Run Code Online (Sandbox Code Playgroud)

这种方式可能curl会使用代理。