内容

名称

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 项来完成的。

NetConfig 值

nntp_hosts
snpp_hosts
pop3_hosts
smtp_hosts
ph_hosts
daytime_hosts
time_hosts

每个都是对主机名数组的引用(按优先顺序排列),应将其用于给定的协议

inet_domain

您的互联网域名

ftp_firewall

如果您有 FTP 代理防火墙(不是 HTTP 或 SOCKS 防火墙),则此值应设置为防火墙主机名。如果您的防火墙不侦听端口 21,则此值应设置为 "hostname:port"(例如 "hostname:99"

ftp_firewall_type

市面上有许多不同的 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
0

没有防火墙

1
USER [email protected]
PASS pass
2
USER fwuser
PASS fwpass
USER [email protected]
PASS pass
3
USER fwuser
PASS fwpass
SITE remote.site
USER user
PASS pass
4
USER fwuser
PASS fwpass
OPEN remote.site
USER user
PASS pass
5
USER user@[email protected]
PASS pass@fwpass
6
USER [email protected]
PASS fwpass
USER user
PASS pass
7
USER [email protected]
PASS pass
AUTH fwuser
RESP fwpass
ftp_ext_passive
ftp_int_passive

FTP 服务器可以在被动模式或主动模式下工作。主动模式是指当您想要传输数据时,您必须告诉服务器要连接的地址和端口。被动模式是指服务器提供地址和端口,而您建立连接。

对于某些防火墙,主动模式不起作用,因为服务器无法连接到您的机器(因为您在防火墙后面),并且防火墙不会重写命令。在这种情况下,您应将 ftp_ext_passive 设置为true 值。

某些服务器配置为仅在被动模式下工作。如果您有其中一个,您可以强制 Net::FTP 始终在被动模式下传输;当不通过防火墙时,通过将 ftp_int_passive 设置为true 值。

local_netmask

对形式为 "134.99.4.0/24" 的 netmask 字符串列表的引用。这些字符串由 requires_firewall 函数用于确定给定主机是在防火墙内还是外。

以下条目在 libnet 包的安装和测试期间使用

test_hosts

如果为 true,则 make test 可能会尝试连接到配置中给出的主机。

test_exists

如果为 true,则 Configure 将检查给定的每个主机名是否存在

EXPORTS

此模块可以导出以下符号

默认导出

%NetConfig.

可选导出

.

导出标记

.

已知问题

.

作者

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 文件。