perl:如何检查url链接是否不是404

时间:2012-02-21 21:11:33

标签: perl

我想知道如何检查perl中的url链接?我想知道它是否是无效链接。

此外,我想知道在检查网址链接时如何使用用户名和密码进行身份验证。

3 个答案:

答案 0 :(得分:7)

请参阅method credentials in LWP::UserAgentmethod is_success in HTTP::Response

use LWP::UserAgent qw();
my $ua = LWP::UserAgent->new;
$ua->credentials('hostname.example:80', 'realm name', 'login', 'password')
my $res = $ua->head('http://hostname.example/fullurl');
$res->is_success;
# $res->is_error
# $res->is_redirect
## specific status code comparison:
# $res->code != HTTP::Status::HTTP_NOT_FOUND()

您可能希望升级到WWW::Mechanize以自动关注重定向并更轻松地进行身份验证。

答案 1 :(得分:4)

您可以使用LWP::Simple并执行HEAD请求

从此link

  

LWP :: Simple还有其他有用的功能,包括一个   用于在URL上运行HEAD请求的函数(用于检查   链接,

来自rfc

  

HEAD方法与GET相同,只是服务器不能   在响应中返回一个消息体。元信息包含   在HTTP头中响应HEAD请求应该是相同的   响应GET请求发送的信息。这种方法可以   用于获取有关该隐含的实体的元信息   请求而不转移实体主体本身。这个方法是   经常用于测试超文本链接的有效性,可访问性,   和最近的修改。

答案 2 :(得分:0)

使用LWP;你可以在CPAN上找到它: https://metacpan.org/pod/LWP