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

时间:2012-07-18 12:31:49

标签: perl configuration proxy cpan

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

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

  

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

     

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

知道我有一个导航代理,并且已经阅读了关于代理和cpan I的网络上的文档和几个页面:

  

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

     

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

     

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]>我/有些人::模块/   CPAN:Storable loading ok(v2.18)

     

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

     

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

     

尝试连接互联网可以吗? [是] LWP不可用

     

尝试使用“/ usr / bin / curl -L -f -s -S --netrc-optional”来获取       http://www.perl.org/CPAN/authors/01mailrc.txt.gz curl:(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配置为通过具有身份验证的公司代理访问互联网,我缺少什么?

4 个答案:

答案 0 :(得分:23)

您需要提供绝对代理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? []

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

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

BR 杰里詹姆斯

答案 1 :(得分:9)

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

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

答案 2 :(得分:3)

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

export http_proxy=http://my_net_id:my_net_pwd@10.12.8.9:3128/

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

答案 3 :(得分:0)

[root@localhost ~] cpan

终端不支持AddHistory。

cpan shell-CPAN探索和模块安装(v1.9800) 输入“ h”以获取帮助。

列出我的下载网址

cpan[1]> o conf urllist 


urllist
    0 [http://mirror.waia.asn.au/pub/cpan/]
    1 [ftp://mirrors.coopvgg.com.ar/CPAN/]
    2 [http://httpupdate3.cpanel.net/CPAN/]

键入“ o conf”以查看所有配置项

添加CPAN镜像列表

cpan[2]> o conf urllist push http://httpupdate3.cpanel.net/CPAN/

请使用'o conf commit'将配置永久化!

提交

cpan[3]> o conf commit

提交:写了'/root/.cpan/CPAN/MyConfig.pm'

cpan [4]>

现在您可以再次安装perl模块,例如:cpan -i Text::Template