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 [email protected]
PASS pass
USER fwuser
PASS fwpass
USER [email protected]
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@[email protected]
PASS pass@fwpass
USER [email protected]
PASS fwpass
USER user
PASS pass
USER [email protected]
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 <[email protected]>.
Steve Hay <[email protected]> 从 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 文件。