web-dev-qa-db-ja.com

自動Cookie処理C#/。NET HttpWebRequest + HttpWebResponse

HttpWebRequest/HttpWebResponseオブジェクトで.NETのCookieを自動的に処理する方法はありますか? .NET環境でのみ、LWP :: UserAgentとその動作(Perl)に相当するものを探しています。

提案やアドバイスはありますか?

55
user69197

あなたが探しているのは CookieContainer クラスだと思います。あなたが正しくやろうとしていることを理解していれば、リクエストとレスポンスに別々のオブジェクトがあり、responseCookieコレクションをnextrequestCookieコレクションが自動的に収集されます。このコードを使用してみてください:

CookieContainer cookieJar = new CookieContainer();
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://www.google.com");
request.CookieContainer = cookieJar;

HttpWebResponse response = (HttpWebResponse)request.GetResponse();
int cookieCount = cookieJar.Count;

cookieJarを作成し、リクエストのCookieContainerに設定すると、レスポンスからのすべてのCookieが保存されるため、上記の例では、Cookie jarのカウントは1 Google.comにアクセスすると。上記のリクエストとレスポンスのCookieコンテナプロパティには、cookieJarへのポインタが格納されるため、Cookieは自動的に処理され、オブジェクト間で共有されます。

128
Dan Herbert