2012-04-19 9 views
0

これは、C#でクッキーの値を取得する正しい方法は私の質問です。私の意図は、特定のクッキーの値を取得し、この例では「cookie」という名前の文字列変数に格納することだけです。エラーチェックのほかにクッキー値c#

WebRequest request = WebRequest.Create(url); 
(request as HttpWebRequest).CookieContainer = new CookieContainer(); 
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
String cookie = response.Cookies[cookiename].ToString(); 
+0

このコードノートは機能しますか? – payo

+0

試しましたか? – Msonic

+0

私はそれを試すことができますので、私も試してみることができますが、私は例の中でresponse.Cookies [cookiename]の代わりに要求を参照してください見た。クッキー[cookiename]、この2つの違いは何ですか? – rdk1992

答えて

1

ルック:

保存クッキー:

if (Request.Cookies["cookieName"] == null) 
      Response.Cookies.Add(new HttpCookie("cookieName")); 

     Response.Cookies["cookieName"].Expires.AddYears(5); 
     Response.Cookies["cookieName"]["keyValue"] = "string value"; 
     Response.AppendCookie(Response.Cookies["cookieName"]); 

回復クッキー:

HttpCookie CookieKey = Request.Cookies["cookieName"]; 
     if (CookieKey != null) 
     { 
      string value = CookieKey["keyValue"]; 
     } 

・ホープこのヘルプ。

+0

ありがとう!私は早くその部分を回復しようとしました、そして、それは要求が範囲で宣言しないと言いました、私はRequestオブジェクトを作った。これは大丈夫でしょうか? btwは "keyvalue"と "cookiename"の違いは何ですか?それとも同じですか? WebRequest request = WebRequest.Create(url); HttpCookie CookieKey = Request.Cookies ["cookieName"]; if(CookieKey!= null) { string value = CookieKey ["keyValue"]; } – rdk1992

+0

こんにちは@ rdk1992、クッキーは複数の値を持つことができます。これを使用してください:Response.Cookies ["cookieName"] ["name"] = "name"; Response.Cookies ["cookieName"] ["age"] = "age"; – Gus

+0

私は下の部分で、クッキーを回復する部分を意味しました。私はただの価値を得るためにクッキーを作ることを意味しません。だから私はあなたのリカバリークッキーセクションの例を参考にしています。あなたはRequest.Cookiesを持っていて、これを試してみて、リクエストが宣言されていないというエラーを出しました。私の質問は、このようにリクエストオブジェクトを宣言する必要がある場合です: "WebRequest request = WebRequest.Create(url);" – rdk1992

0

(タイムアウト、例外) - 名前でクッキーを見つけることはそう

string cookie = response.Cookies[cookiename].ToString(); 

でサポートされて "はい" のために使用されているあなたの質問:)

0

Request.Cookiesに答えがありますサーバー上の要求に反応する - Response.Cookiesは、サーバーにいる間に存在しない場合はクッキーを作成します。これはコードを実行するサーバーのコンテキスト外であるため適切です。

関連する問題