我在企业环境中有一个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配置为通过具有身份验证的公司代理访问互联网,我缺少什么?
答案 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[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