我想知道如何检查perl中的url链接?我想知道它是否是无效链接。
此外,我想知道在检查网址链接时如何使用用户名和密码进行身份验证。
答案 0 :(得分:7)
请参阅method credentials
in LWP::UserAgent和method 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