- ベストアンサー
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(); } }
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
おそらくクッキーの情報をサーバーへ返していないため、 サーバー側はクッキーの設定が無効だといってきたのだと思います。 もしかしたら、クッキーの仕組みをご存じないのでは?
その他の回答 (2)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
#1に関してですが、 それは、ブラウザの側の設定だと思いますが 例えば、IEでは、インターネットオプションのプライバシー設定を最高にするとクッキーの使用が無効になります。 これをサイトの側で変更することはできません。 ていうかできたらおかしいです。 イヤでしょ
- aton
- ベストアンサー率47% (160/334)
java.net.URL.openStream() ではなく,java.net.URL.openConnection() で java.net.HttpURLConnection を取得し,java.net.HttpURLConnection.getHeaderField() や java.net.HttpURLConnection.getHeaderFields() を使ってヘッダ情報からcookieを取り出せばよいのではないでしょうか。 >また、こういったプログラムを作るのに参考になる書籍をご存知でしたら教えてください。 書籍ではありませんが,オープンソースのJava製HTTPクライアントを作っている Jakarta Slide というプロジェクトがあるので,そのソースを参考にしてみてはどうでしょうか。
補足
回答いただきありがとうございます。 すみません。質問の仕方が間違っていました。 先のファイルを実行すると、某ページで、下記のようなエラーが出て正常に表示されません。そこで、何とか、クッキーが有効になっている状態にしたいのですが方法がわかりません。 <<<<エラー内容>>>> 現在お使いのブラウザの設定ではログインできません。<br>(クッキーを無効にする設定になっています) <<<<>>>> また、参考サイトを教えていただきありがとうございます。しかし、残念ながら、私のレベルでは何を言っているのかさっぱりでした。もしよろしければ、入門に適しているサイトや書籍を教えていただけましたら幸いです。 よろしくお願い致します。