<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>Atompub / Drkcore</title><link>http://blog.kzfmix.com/Atompub</link><description>Programming, Music, Snowboarding</description><language>ja</language><lastBuildDate>Tue, 18 Sep 2007 20:47:19 +0919</lastBuildDate><item><title>AtompubでVox用のクライアントを作ろうとしたが</title><link>http://blog.kzfmix.com/entry/1190034590</link><description>&lt;p&gt;自分のVox用にCLIが欲しくて、&lt;a href="http://search.cpan.org/perldoc?Atompub"&gt;Atompub&lt;/a&gt;でつくろっかなと思ったので。&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;use Atompub::Client;
my $service_uri = 'http://kzfm.vox.com/library/posts/atom.xml';
my $client = Atompub::Client-&amp;gt;new;
$client-&amp;gt;username('xxx@gmail.com');
$client-&amp;gt;password('mokyumokyu');

my $service = $client-&amp;gt;getService( $service_uri );
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;さてこれがエラー。&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ perl atomc.pl
Bad Content-Type: text/xml at /usr/lib/perl5/site_perl/5.8.8/Atompub/Client.pm line 220.
Can't call method "collections" on an undefined value at atomc.pl line 14.
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Atompub::MediaTypeあたりを触ればいいんだろうか?エンドポイント間違えてるだけだったりして、、、、&lt;/p&gt;

&lt;p&gt;ちょっと興味があるのでソースを読んでみる。あと&lt;a href="http://bitworking.org/projects/atom/draft-ietf-atompub-protocol-17.html"&gt;draft-ietf-atompub-protocol-17.txt&lt;/a&gt;も併せて読む&lt;/p&gt;

&lt;h4&gt;追記 07.09.18&lt;/h4&gt;

&lt;p&gt;色々ボケてた。&lt;/p&gt;

&lt;p&gt;rsd.xmlに記述されているAtomのAPIにGETしないといけない。&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ wget --http-user=user --http-passwd=XXX \
http://www.vox.com/services/atom
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;で戻ってきたxmlの中見てservice.postにPOST&lt;/p&gt;

&lt;p&gt;ここへのPOSTは&lt;a href="http://search.cpan.org/perldoc?XML::Atom::Client"&gt;XML::Atom::Client&lt;/a&gt;でも&lt;a href="http://search.cpan.org/perldoc?Atompub::Client"&gt;Atompub::Client&lt;/a&gt;でもどちらでもOK&lt;/p&gt;
</description><pubDate>Tue, 18 Sep 2007 20:47:19 +0919</pubDate><category>perl</category><category>Atompub</category><category>Vox</category></item></channel></rss>