虎虎's 博客 » 日志 » 小谢看到的话解说一下
小谢看到的话解说一下
虎虎 发表于 2007-02-15 01:52:25
use LWP::UserAgent;
sub discover_tb {
my $url = shift;
my $ua = LWP::UserAgent->new;
$ua->agent('TrackBack/1.0');
$ua->parse_head(0); ## So we don't need HTML::HeadParser
$ua->timeout(15);
## 1. Send a GET request to retrieve the page contents.
my $req = HTTP::Request->new(GET => $url);
my $res = $ua->request($req);
return unless $res->is_success;
## 2. Scan te page contents for embedded RDF.
my $c = $res->content;
(my $url_no_anchor = $url) =~ s/#.*$//;
my $item;
while ($c =~ m!(<rdf:RDF.*?</rdf:RDF>)!sg) {
my $rdf = ;
my($perm_url) = $rdf =~ m!dc:identifier="([^"]+)"!;
next unless $perm_url eq $url || $perm_url eq $url_no_anchor;
## 3. Extract the trackback:ping value from the RDF.
## We look for 'trackback:ping', but fall back to 'about'
if ($rdf =~ m!trackback:ping="([^"]+)"!) {
return ;
} elsif ($rdf =~ m!about="([^"]+)"!) {
return ;
}
}
}
这段Perl定义了一个过程 discover_tb. 给定一个 URL, 它会试图找到与此URL相对应的TrackBack Ping URL. 如果找到了,它会返回 TrackBack Ping URL; 否则返回 undef.
相关日志:
- » 什么是web2.0
- » 小谢看到的话解说一下
- » 原来这老早就过气了
- » 从来没用过的东西
收藏:
QQ书签
del.icio.us
订阅:
Google
抓虾
最新评论
-
2007-02-15 09:00:36 匿名 222.70.*.*
怎么个解说法?
-
2007-02-15 10:47:25 匿名 221.237.*.*
额。不用了。
-
2007-02-15 22:14:54 匿名 82.227.*.*
搬家了啊?
-
2007-02-16 19:42:53 匿名 220.186.*.*
我们天天走着一条熟路
回到我们居住的地方;
但是在这林里还隐藏
许多小路,又深邃、又生疏.
走一条生的,便有些心慌,
怕越走越远,走入迷途,
但不知不觉从树疏处
忽然望见我们居住的地方,
像座新的岛屿呈现在天边.
我们的身边还有多少事物
向我们要求新的发现
不要觉得一切都已熟悉
到死时抚摸自己的发肤
生了疑问:这是谁的身体

