「クッキーを無効にする設定になっています。ログインするにはクッキーが必要です。」
これは恐らくHTMLソース上のスクリプトを実行せずにそのページにアクセスしているためだと思われます。ここで質問です。
「プログラム上からのアクセスからでも、クッキーを有効するプログラム・方法はありますでしょうか?」
ご存知の方はご教授下さい。ちなみにご回答なさる際、できるならば具体的に記述するようお願いします。
『Yahoo!ファイナンス ログイン後ページ』
※http://charge.quote.yahoo.co.jp/?u
(Yahoo!にログインしていなければ自動的に『ログイン前ページ』に移動します。)
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
サンプルコードです。
このコードあれば、クッキーは意識しなくても使用可能です。
Webページへのアクセスのさせ方も色々あるので一意にはいえませんが、クッキーの情報はリクエストヘッダ内にて一緒に送信されます
ですからクエリ送信の際に取得したCookieをHeaderで送信すればよいわけです
プログラム内で全Header送信も行っているのであれば、これが欠落しているのだと思います
WebBrowoserを使いながらパケットを監視してみれば、Cookie: ごにょごにょというヘッダを送信しているのが分かると思います
具体的には、最初の認証で Set-Cookie:というヘッダが来るはずなので、Cookieを要求するサイトにはセッションIDがわりにヘッダとして送信しなくてはいけません
たまに、サイト外からのアクセスを区別するために、Referer: ヘッダを見ていることもあるので、プログラミングの際には注意が必要です
コメント(0件)