2007年11月4日日曜日

Url中の//

uGNoteではGoogleの提供する.NET用ライブラリを使っています。
NoteBookにアクセスするための処理はそれほど難しくは無いので、Googleのライブラリを使わないで自前で処理をすることにしました。

この作業自体は昨日完了したのですが、欲張ってGoogle Readerのfeedも持ってこれるように機能追加をしてハマリ中です。
今のところは100歩後退って感じです

公開設定されたアイテムはNoteBookと殆ど同じ扱いなので簡単でした
登録フィードのリストを取得する事も出来ました

問題は登録フィードから内容を読み込む事が何故か上手くいきません

例えば、登録フィード"blog.atelierlune.com"の既読アイテムを取得するには

http://www.google.com/reader/atom/feed/http://blog.atelierlune.com/atom.xml?xt=user/-/state/com.google/read

こんなurlに"GET"をリクエストします

webブラウザ上ではこれでバッチリxmlが取得できます
これをc#でプログラムにすると
指定したurlが何故か

http://www.google.com/reader/atom/feed/http:/blog.atelierlune.com/atom.xml?xt=user/-/state/com.google/read

に変わってしまいます

Uri uri = new Uri("http://www.google.com/reader/atom/feed/http:/blog.atelierlune.com/atom.xml?xt=user/-/state/com.google/read");

この違い分かりますか?パッと見では同じですが
.../feed/http://blog.atelie....
.../feed/http:/blog.atelie....

// が / に勝手に書き換えられてます

気持ちが分からなくも無いけど、おかげでまともなリストが得られません

これが解決できないと登録先がごっちゃ混ぜの既読リストしか得られない、どーしたら良いのかわかりません

0 件のコメント: