C# 入門 & 実践 / C sharp
311-4. HTTP Cookie を読む。
HttpWebResponse.Cookies["xxx"].Value
で簡単にデータを取得できるはずだったのですが、意外な盲点が・・・
なんで使えないんだ・・・
といろいろ調べたら・・・
HttpWebRequestでは
For security reasons, cookies are disabled by default. If you want to use cookies, use the CookieContainer property to enable cookies.
デフォルトでは使えないと!!!
何すればいいのかな?と思ったら
request.CookieContainer = new CookieContainer();
これだけでした^-^;
まずはサーバ側で、Cookieを発行します。
// PHPのソースです
header("Content-type: text/plain;charset=UTF-8");
setcookie("test","it is a cookie");
echo "hello";
これだけ、testというcookieに文字列を入れただけです。
HttpWReq = (HttpWebRequest)WebRequest.Create(myurl);
// Request にこれを入れるだけ!
HttpWReq.CookieContainer = new CookieContainer();
// +++ 中略 +++
// レスポンス
HttpWebResponse HttpWResp = (HttpWebResponse)HttpWReq.GetResponse();
// Cookie 解析 : ちゃんと入ってますね^-^。
string c_test = "";
if ( HttpWResp.Cookies["test"] != null)
{
c_test = HttpWResp.Cookies["test"].Value;
}
次は、サーバへデータを渡してみます。
311-3. HTTP HTTS/SSL データ通信。 «
HTTP関連 »
311-5. HTTP Cookie サーバへ渡す。
C# 入門 & 実践 / C sharp