読者です 読者をやめる 読者になる 読者になる

書くことないです。

ayamadoriが独り言を呟く日記。

こんなこともやってます。(が、もはやあまりやる気は無かったりする)

【Nothing to release./携帯電話向けSoftware】

livedoor Readerのクッキー処理とCookieContainer

CookieContainer クラス (System.Net)
http://msdn.microsoft.com/ja-jp/library/windowsphone/develop/system.net.cookiecontainer(v=vs.105).aspx

livedoor ReaderのWeb APIにアクセスするには、Cookieにreader_sidをセットする必要がある。

LivedoorReaderのセッションの作り方
http://d.hatena.ne.jp/thrakt/20091225/1261715185

ログイン処理をしてみると、レスポンスヘッダのSet-Cookieでは実際にそう指示されているのだけど、なぜかreader_sidだけがCookieContainerにセットされない。*1
おそらくCookieContainerのドメイン周りの処理が影響していると思われるのだけど、正直よく分からん。ネットワーク周りの知識なさすぎ>自分

Set-CookieとCookieContainer
http://agloo.blog92.fc2.com/blog-entry-40.html

対策としては、これだけを手動でCookieにセットしてやれば良い。*2

CookieContainer.SetCookies(new Uri("http://reader.livedoor.com"), "reader_sid=" + apiKey);

結論だけ見たらとても簡単な話なのに、なんであんなに解決に時間がかかったんだろうねまったくorz

*1:他のパラメータはセットされている様子

*2:当然、この前にレスポンスヘッダからreader_sidを手動で取ってくる必要がある