正體中文 | 简体中文 | English

:::

chklinks

最新消息

2007-06-08
chklinks 最新版本 3.06 ,测试程式修正。下载 chklinks 3.06 版
2007-06-07
chklinks 最新版本 3.05 ,修正 Perl 5.8 版以前无 UTF-8 模式的问题。下载 chklinks 3.05 版
2007-06-06
chklinks 最新版本 3.04 ,修正说明文件。下载 chklinks 3.04 版
2007-06-06
chklinks 最新版本 3.03 ,修正 HTML::Parser 的原始 UTF-8 警告讯息,加上支援以 Module::Build 安装。下载 chklinks 3.03 版
2006-06-02
chklinks 最新版本 3.02 ,更正错误的数位签名。下载 chklinks 3.02 版
2006-05-31
chklinks 最新版本 3.01 ,修正 Makefile.PL 漏掉的相依模组,并把漏掉的 HTML 文件加回来。下载 chklinks 3.01 版
2006-05-30
chklinks 最新版本 3.00 ,改用 HTML::LinkExtor 解读网页并用 LWP::RobotUA 连线取得网页。支援 http 外的其它网址格式。支援网站的 Cookies 。遵守 robots.txt 设定的规则。下载 chklinks 3.00 版
2005-10-02
网站样式调整,加上无障碍网页的设计,以 CSS 边框代替 <hr /> ,以符合无障碍网页空间的要求。
2005-04-27
网站上的繁体中文字样更正为正体中文
2003-05-26
chklinks 最新版本 2.02 ,预设由检查本页就好,改为检查整个网站。这样比较符合大多数的需求。下载 chklinks 2.02 版
2003-05-25
chklinks 最新版本 2.01 ,加上安装程式、附加档案与 POD 说明档。下载 chklinks 2.01 版
2003-05-25
chklinks 最新版本 2.0.0 ,首次公开上传到 SourceForget 。只有主程式。下载 chklinks 2.0.0 版
2003-05-19
SourceForge 专案通过。
2003-05-18
申请 SourceForge 专案。

说明

chklinks 是用 Perl 写的连结检查程式,用来检查网站上的超连结有没有疏漏。

chklinkslinkchecker 不同之处在於,chklinks 不是多执行绪的程式。 chklinks 检查时,不会同时启动一大堆连线同步检查,耗尽系统资源,导致当机。对大多数网管和使用者而言,这样做安全得多。

chklinks 遵守 robots.txt 设定的规则。若你的网站拒绝自动网页程式,导致 chklinks 无法执行,请在你的 robots.txt ,加入下列两行,放行 chklinks

User-agent: chklinks
Disallow:

chklinks 使用 LWP::RobotUA 连线,支援下列通讯协定: httphttpsftpgopherfilechklinks 也可以检查一般的档案。(若要使用 https 通讯协定,需先安装 Crypt::SSLeay 。这是 LWP::RobotUA 的需求。)

chklinks 支援网站的 Cookies

系统需求

  1. Perl 5.6 或以上。我还没有在更早的版本上成功执行过。若你可以在更早的版本上执行,请告诉我。你可以输入 perl -v 查询你目前的 Perl 版本。目前大多数的 Unix 系统都有 Perl 。如果你没有 Perl 或需要升级,可以到 Perl 网站下载安装最新版 Perl 。若你是用 MS-Windows ,可以下载安装 ActiveState 公司的 ActivePerl
  2. 本程式需要下列 Perl 模组: URIHTML::LinkExtorLWP::RobotUAHTML::LinkExtorHTML-Parser 中的模组, LWP::RobotUAlibwww-perl 中的模组。如果你没有,可以到 CPAN 程式库下载安装。若你由 CPANCPANPLUS 中安装,会自动帮你安装这些所需的模组。
  3. 选配的 Perl 模组:
    Crypt::SSLeay
    这是要让 LWP::RobotUA 支援 HTTPS 的功能。
    若没有上列 Perl 模组,请到 CPAN 程式库下载安装。

下载

chklinks 的官方网站在:

最新版 chklinks 可由下列位址下载:

依玛猫的 PGP 公钥在:

安装

ExtUtils::MakeMaker 安装

chklinksPerl 标准的 ExtUtils::MakeMaker 安装,程序如下:

% perl Makefile.PL
% make
% make test
% make install

make install 前,请先确认你有在安装目录存档的权限。通常这时候要切换为 root ,才能安装存档。

若你是用 MSWin32 下的 ActivePerl , make 请改用 nmakenmake 可 由微软的 FTP 站下载

若要安装到其它地方,请设定好 PREFIX 。例如,一般使用者,要安装在自己的目录下时:

% perl Makefile.PL PREFIX=/home/jessica

要知道更多安装选项的细节,请参阅 ExtUtils::MakeMaker 的说明(请执行 perldoc ExtUtils::MakeMaker )。

Module::Build 安装

若你喜欢,也可以用 Module::Build 安装,程序如下:

% perl Build.PL
% ./Build
% ./Build test
% ./Build install

./Build install 前,请先确认你有在安装目录存档的权限。通常这时候要切换为 root ,才能安装存档。

若要安装到其它地方,请设定好 --prefix 。例如,一般使用者,要安装在自己的目录下时:

% perl Build.PL --prefix=/home/jessica

要知道更多安装选项的细节,请参阅 Module::Build 的说明(请执行 perldoc Module::Build )。

命令列参数

./chklinks [参数] 网址1 [网址2 [网址3 …]]
./chklinks [-h|-v]
-1,--onelevel
检查本页就好,不继续查下去。
-r,--recursive
检查完整个网站。预设是 --recursive
-b,--below
只检查该目录下的连结。预设是 --below
-p,--parent
上溯到全站的连结。
-l,--local
只检查站上的连结,不检查站外连结。
-s,--span
检查站外的连结(但不会查下去)。预设是 --span
-e,--exclude 路径
排除该路迳。把该路径下的档案当成站外连结,只检查能不能连,不深入查下去。你可以指定很多个 --exclude
-i,--include 路径
包含该路迳。和 --exclude 效果相反,用来抵销 --exclude 。排后面的优先处理。
-d,--debug
显示详细的执行讯息。越多个 --debug ,讯息越详细。
-q,--quiet
关闭执行讯息。和 --debug 效果相反,用来抵销 --debug
-h, --help
显示程式说明。
-v, --version
显示程式版本。
网址1网址2网址3
要检查的网站网址。

注意事项

chklinks 尚未遵守 robots.txtCrawl-delay: 规则。不过这是 WWW::RobotRules 的问题,不是 chklinks 的问题。

若出现以下警告:

Parsing of undecoded UTF-8 will give garbage when decoding entities at /usr/share/perl5/LWP/Protocol.pm line 114.

这是 LWP::Protocol 用新版 HTML::Parser 3.40 版以上时产生的问题。请参阅 CPAN RT Bug#20274 报告,取得 LWP::Protocol 的修补程式。

已知问题

chklinks 还不支援登入帐号密码的功能。 W3C-LinkChecker 有支援这个功能。若不是 Digest 登入,只是 Basic 登入,你可以先用像是 http://user:pass@some.where.com/some/path 的语法登入。不过请不要这样做。任何人只要用 ps 指令,就看得到密码。如果这时候系统有入侵者偷偷溜进来,也可以看得到。而且这样写在指令中的密码,也会存在你的指令记录档中。

应该可以支援 mailto: 的网址,检查其 DNS/MX 是否可用。 Bastian Kleineidamlinkchecker 有支援这个功能。

一般档案的支援目前只在 UnixMSWin32 上测试过,还需要在其它作业系统如 VMSMac 上测试能不能运作。

支援协助

chklinks 网站架在 SourceForgeCPAN旅舍依玛。索取最新资讯,请驾临:

SourceForge 上有一个 chklinks 的邮件通讯 。使用上的问题、建议或错误回报,请提到通讯上讨论。它是 Mailman 的邮件通讯。若要加入,请到 chklinks 邮件通讯的网页 。你也可以写信到 E-mail 指令信箱,标题填上 help ,索取 E-mail 指令说明。

参考资料

LWP::UserAgentLWP::RobotUAWWW::RobotRulesURIHTML::LinkExtorBastian KleineidamlinkcheckerW3C-LinkChecker checklink

作者

依玛猫

版权声明

版权所有 © 2003-2007 依玛猫。

本程式是自由软体,您可以遵照自由软体基金会 (Free Software Foundation) 出版的 GNU 通用公共许可证条款 (GNU General Public License) 第二版来修改和重新发布这一程式,或者自由选择使用任何更新的版本。

发布这一程式的目的是希望它有用,但没有任何担保。甚至没有适合特定目的而隐含的担保。更详细的情况请参阅 GNU 通用公共许可证

您应该已经和程式一起收到一份 GNU 通用公共许可证的副本。如果还没有,写信给: Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA


依玛猫,初稿 2003-05-25 ,上次更新日期 2007-06-08
版权所有 © 2003-2007 依玛猫,欲转载引用请先阅读版权声明