IEのCookieを取得する方法
Take a Restさんの「InternetSetCookieとInternetGetCookieを使ってIEのCookieを利用する」で紹介されているwininet.dllのInternetGetCookie関数を使えばIEのCookieが取得できる。
でも、試しに上記のサイトのプログラム例からgetIECookieメソッドだけ取り出して、ニコニコ動のURL"http://www.nicovideo.jp/"を指定したが何も取れなかった。FireFoxからニコニコ動画のセッション情報user_sessionを見てそこに表示されていたURL".nicovideo.jp"のバリエーションをいろいろ指定してみたが、何も取れない。理由は不明。(URLが間違っているのか、他の理由なのか・・・)
もちろん、IEからニコニコ動画を開きログインしてから実行している。
また、URLに"http://www.nifty.com/"を指定したら、PUSERというキー名の値が取得できたので、この関数がつかえないというわけではない。(PUSER以外の値もあると思うのだが、これしか取得できなかった。これも理由がわからん。URLとして正しくないと取得できない模様。たとえば"www.nifty.com"では取得できない。"http://www.nifty.com"は同じPUSERの値が取得できた。)
同類の関数に、InternetGetCookieEx関数ってのがあって、こちらはクッキーの名前を指定できるので、これで明示的にクッキー名"user_session"を指定すれば何か取れるのかしらんと思う。
あー、エラーとか返すのかな。そこら辺から攻めてみるのも一興か。
でも、時間がないので明日試してみよう。
→2008/09/07追記:C#でCookieを取得するプログラムを作ったよ。
« 今日買ってきた本 | トップページ | IEのCookieを取得する方法:おかわり »
コメント