Net::Config - libnet 的本地配置数据
use Net::Config qw(%NetConfig);
Net::Config
保存 libnet 发行版中模块的配置数据。在安装过程中,系统会要求你提供这些值。
配置数据全局保存在 perl 安装树中的一个文件中,但用户可以通过提供自己的数据来覆盖任何这些值。这可以通过在主目录中放置一个 .libnetrc
文件来完成。此文件应返回对包含下面所述键的 HASH 的引用。例如
# .libnetrc
{
nntp_hosts => [ "my_preferred_host" ],
ph_hosts => [ "my_ph_server" ],
}
__END__
Net::Config
定义了以下方法。它们是类方法,因为它们作为类方法被调用。这是因为 Net::Config
继承自 Net::LocalCfg
,因此你可以根据需要覆盖这些方法。
requires_firewall($host)
尝试确定给定主机是否在你的防火墙之外。可能返回的值为。
-1 Cannot lookup hostname
0 Host is inside firewall (or there is no ftp_firewall entry)
1 Host is outside the firewall
这是通过使用主机名查找和配置数据中的 local_netmask
项来完成的。
每个都是对主机名数组的引用(按优先顺序排列),应将其用于给定的协议
您的互联网域名
如果您有 FTP 代理防火墙(不是 HTTP 或 SOCKS 防火墙),则此值应设置为防火墙主机名。如果您的防火墙不侦听端口 21,则此值应设置为 "hostname:port"
(例如 "hostname:99"
)
市面上有许多不同的 ftp 防火墙产品。但不幸的是,没有关于如何穿越防火墙的标准。以下列表显示了 Net::FTP 将使用的命令序列
user Username for remote host
pass Password for remote host
fwuser Username for firewall
fwpass Password for firewall
remote.host The hostname of the remote ftp server
没有防火墙
USER user@remote.host
PASS pass
USER fwuser
PASS fwpass
USER user@remote.host
PASS pass
USER fwuser
PASS fwpass
SITE remote.site
USER user
PASS pass
USER fwuser
PASS fwpass
OPEN remote.site
USER user
PASS pass
USER user@fwuser@remote.site
PASS pass@fwpass
USER fwuser@remote.site
PASS fwpass
USER user
PASS pass
USER user@remote.host
PASS pass
AUTH fwuser
RESP fwpass
FTP 服务器可以在被动模式或主动模式下工作。主动模式是指当您想要传输数据时,您必须告诉服务器要连接的地址和端口。被动模式是指服务器提供地址和端口,而您建立连接。
对于某些防火墙,主动模式不起作用,因为服务器无法连接到您的机器(因为您在防火墙后面),并且防火墙不会重写命令。在这种情况下,您应将 ftp_ext_passive
设置为true 值。
某些服务器配置为仅在被动模式下工作。如果您有其中一个,您可以强制 Net::FTP
始终在被动模式下传输;当不通过防火墙时,通过将 ftp_int_passive
设置为true 值。
对形式为 "134.99.4.0/24"
的 netmask 字符串列表的引用。这些字符串由 requires_firewall
函数用于确定给定主机是在防火墙内还是外。
以下条目在 libnet 包的安装和测试期间使用
如果为 true,则 make test
可能会尝试连接到配置中给出的主机。
如果为 true,则 Configure
将检查给定的每个主机名是否存在
此模块可以导出以下符号
无.
Graham Barr <gbarr@pobox.com>.
Steve Hay <shay@cpan.org> 从 1.22_02 版本开始维护 libnet。
版权所有 (C) 2000 Graham Barr。保留所有权利。
版权所有 (C) 2013-2014、2016、2020 Steve Hay。保留所有权利。
此模块是免费软件;你可以根据与 Perl 自身相同的条款重新分发和/或修改它,即根据 GNU 通用公共许可证或 Artistic 许可证的条款,如 LICENCE 文件中所述。
版本 3.15
2023 年 3 月 20 日
请参阅 Changes 文件。