HTTPでのクッキーの取得方法

投稿者: 投稿日:2020/03/27(Fri) 21:02:56 No.2560

 お世話になっております。

 現在、自作サイトにあるクッキーが必要なページをプロデルで取得しようと試みています。
 ただ、そのページというのがクッキーをセットしたあとにページがリダイレクトされるという少し特殊な仕様になっているため、現状のプロデルでは取得できずに困っています。
 プロデルで取得できるようにする方法としては、リダイレクトを無効化した上で、クッキーを取得する方法が考えられます。
 そのため、対応する設定項目を追加していただけないでしょうか。
 HTTP要求がC#の「HTTPWebRequest」クラスを利用している場合、「AllowAutoRedirect」プロパティで有効と無効を切り替えられるようです。
 とりあえず、現状のソースコードを張ってみます。

----- サンプルソース -----
アドレスは、「https://riku22.net/tests/cookie/
HTTP取得というHTTP要求を作る
HTTP取得のメソッドは、「GET」
HTTP取得にて「[アドレス]set_cookie.php」をHTTPで要求して応答内容とする
テストクッキーは、応答内容から「test_cookie」というクッキーを取得したもの
もしテストクッキーが無なら
「クッキーの取得に失敗しました。」を「エラー」として警告アイコンで表示する
終了する
もし終わり
HTTP取得というHTTP要求を作る
HTTP取得のメソッドは、「GET」
HTTP取得としてテストクッキーを設定
HTTP取得にて「[アドレス]get_message.php」をHTTPで要求して応答内容とする
メッセージは、応答内容の本文
メッセージの「message」を表示
HTTP取得というHTTP要求を作る
HTTP取得のメソッドは、「GET」
HTTP取得としてテストクッキーを設定
HTTP取得にて「[アドレス]delete_cookie.php」をHTTPで要求して応答内容とする
終了する
--------------------

 それから、クッキーの一覧をまとめて取得するにはどうしたらよいのでしょうか。
 HTTP応答の「クッキー」設定項目では、「System.Net.CookieCollection」というクラス(?)が返ってくるようですが、ここから各クッキーを取得する方法がわかりませんでした。

 以上、よろしくお願いいたします。

Re: HTTPでのクッキーの取得方法

投稿者:ゆうと 投稿日:2020/05/24(Sun) 13:42:02 No.2574

こんにちは ゆうとです。

リダイレクトが反映されない件ですが
既定でAllowAutoRedirectをtrueにしました。
また「リダイレクト許可」設定項目も追加しました。

また、Cookieの方ですが、少々難解でうまく取得できていなかったので値を取得できるように修正しました。
HTTP応答の「クッキー」設定項目も正しい値を返すように修正しました。

ご確認ください。

▲ページの先頭へ

- WebForum -