17

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

在 cpan 的第一次运行期间,它会自动配置它通常所做的一切:

自动配置除“urllist”之外的所有内容。请立即调用“o conf init urllist”来配置您的 CPAN 服务器!

提交:写了'/usr/lib/perl5/5.10.0/CPAN/Config.pm'

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

cpan[1]> o conf 初始化 /proxy/

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

你的ftp_proxy?[]

你的 http_proxy?[] 10.12.8.9:3128

你的 no_proxy?[]

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

您的代理用户 ID?[] my_net_id

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

CPAN: Term::ReadKey loaded ok (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: 可存储加载正常 (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 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 配置为通过具有身份验证的公司代理访问 Internet,我缺少什么?

4

4 回答 4

25

您需要提供绝对代理 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杰里·詹姆斯

于 2013-05-25T04:20:07.413 回答
9

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

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

于 2012-07-18T15:53:22.763 回答
4

您可以在调用之前尝试使用它cpan

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

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

于 2012-07-18T14:31:35.137 回答
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'

盘[4]>

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

于 2020-06-18T09:48:43.993 回答