• ベストアンサー

javaでクッキーを取得したい

以下ソースで、ホームページのデータは取得できるのですが、クッキーが必要なページではうまく作動しません。 どのように改良すればよいでしょうか? また、こういったプログラムを作るのに参考になる書籍をご存知でしたら教えてください。 よろしくお願いいたします。 import java.io.*; import java.net.*; class test { public static void main(String[] args) throws Exception { URL url = null; BufferedReader in = null; String readString = null; url = new URL("http://www.yahoo.co.jp"); in = new BufferedReader(new InputStreamReader(url.openStream(),"JISAutoDetect")); while((readString=in.readLine())!=null) System.out.println(readString); in.close(); } }

質問者が選んだベストアンサー

  • ベストアンサー
  • ngsvx
  • ベストアンサー率49% (157/315)
回答No.3

おそらくクッキーの情報をサーバーへ返していないため、 サーバー側はクッキーの設定が無効だといってきたのだと思います。 もしかしたら、クッキーの仕組みをご存じないのでは?

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

#1に関してですが、 それは、ブラウザの側の設定だと思いますが 例えば、IEでは、インターネットオプションのプライバシー設定を最高にするとクッキーの使用が無効になります。 これをサイトの側で変更することはできません。 ていうかできたらおかしいです。 イヤでしょ

  • aton
  • ベストアンサー率47% (160/334)
回答No.1

java.net.URL.openStream() ではなく,java.net.URL.openConnection() で java.net.HttpURLConnection を取得し,java.net.HttpURLConnection.getHeaderField() や java.net.HttpURLConnection.getHeaderFields() を使ってヘッダ情報からcookieを取り出せばよいのではないでしょうか。 >また、こういったプログラムを作るのに参考になる書籍をご存知でしたら教えてください。 書籍ではありませんが,オープンソースのJava製HTTPクライアントを作っている Jakarta Slide というプロジェクトがあるので,そのソースを参考にしてみてはどうでしょうか。

参考URL:
http://jakarta.terra-intl.com/slide/
tihiro_t
質問者

補足

回答いただきありがとうございます。 すみません。質問の仕方が間違っていました。 先のファイルを実行すると、某ページで、下記のようなエラーが出て正常に表示されません。そこで、何とか、クッキーが有効になっている状態にしたいのですが方法がわかりません。 <<<<エラー内容>>>> 現在お使いのブラウザの設定ではログインできません。<br>(クッキーを無効にする設定になっています) <<<<>>>> また、参考サイトを教えていただきありがとうございます。しかし、残念ながら、私のレベルでは何を言っているのかさっぱりでした。もしよろしければ、入門に適しているサイトや書籍を教えていただけましたら幸いです。 よろしくお願い致します。

関連するQ&A

専門家に質問してみよう