人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

【Javaプログラミングに関する質問】プログラム上から『Yahoo!ファイナンス ログイン後ページ(※)』にアクセスするプログラムを作成しています。現在『ログイン後ページ』に直に飛ぶアドレスが判明しているのですが、プログラム上からであると以下のメッセージが表示されてしまいます。

「クッキーを無効にする設定になっています。ログインするにはクッキーが必要です。」

これは恐らくHTMLソース上のスクリプトを実行せずにそのページにアクセスしているためだと思われます。ここで質問です。

「プログラム上からのアクセスからでも、クッキーを有効するプログラム・方法はありますでしょうか?」

ご存知の方はご教授下さい。ちなみにご回答なさる際、できるならば具体的に記述するようお願いします。


『Yahoo!ファイナンス ログイン後ページ』
※http://charge.quote.yahoo.co.jp/?u
(Yahoo!にログインしていなければ自動的に『ログイン前ページ』に移動します。)

●質問者: deep_purple
●カテゴリ:コンピュータ 学習・教育
✍キーワード:HTML Java Yahoo! Yahoo! アクセス
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● kuromaku0103
●100ポイント

http://www.h7.dion.ne.jp/~matsu/feature/uzumi/httpclient/intro.h...

HttpClient入門(HttpClient3.0-rc3)

プログラムはどのように組まれていますか?


Commons-HttpClientを利用するのが一番てっとりばやいと思います。これを使ってなら、http だけでなく、https環境下でも自動的にWebシステムにログインして操作を行なうプログラムを簡単に作成できます。


「クッキーを無効にする設定になっています。ログインするにはクッキーが必要です。」


は、プログラム内でクッキーを使えないためにおこっている現象だと思います。httpClientを使うとこの問題は回避できます。


http://amateras.sourceforge.jp/cgi-bin/fswiki/wiki.cgi/free?page...

HttpClient - Amateras FreeArea

サンプルコードです。

このコードあれば、クッキーは意識しなくても使用可能です。


2 ● aki73ix
●40ポイント

http://www.rfs.jp/sitebuilder/perl/03/04.html

302 Found

Webページへのアクセスのさせ方も色々あるので一意にはいえませんが、クッキーの情報はリクエストヘッダ内にて一緒に送信されます


ですからクエリ送信の際に取得したCookieをHeaderで送信すればよいわけです

プログラム内で全Header送信も行っているのであれば、これが欠落しているのだと思います


WebBrowoserを使いながらパケットを監視してみれば、Cookie: ごにょごにょというヘッダを送信しているのが分かると思います


具体的には、最初の認証で Set-Cookie:というヘッダが来るはずなので、Cookieを要求するサイトにはセッションIDがわりにヘッダとして送信しなくてはいけません


たまに、サイト外からのアクセスを区別するために、Referer: ヘッダを見ていることもあるので、プログラミングの際には注意が必要です

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ