C#のHttpClientクッキーの二つの方法を設定します

オリジナル: C#のHttpClientセットクッキーの二つの方法

はじめに:最近のHttpClientを使用して、同社は、オブジェクトは、HttpWebRequestの以前の放棄要求を送信するのHttpClientを使用する利点があります:あなたが唯一のすべての要求されたデータ(アドレス、リクエストデータ、タイプ、クッキーなど)を送信完了すること、のHttpClientのインスタンスを使用できることを。   

伝統的なHttpWebRequestのは、各要求は別々のインスタンスを作成する必要があり、古い問題を回避します:ソケット接続解除はタイムリーな問題ではありません。   

以下は、主にプロセスの使用では、他の中毒者の記事に転送され、自分の必要性がクッキーにターゲットサーバへのカスタムを送信するのではなく、生と死が過去に送信されていない、最後のBaiduの他の仲間の記事が見つかりました。つまり、あなたは自分のクッキーを送信する必要がある場合あなたは、セットを実行する必要があります。

VARハンドラ=新しいHttpClientHandler(){UseCookies = FALSE;}
VARクライアント=新しいHttpClientを(ハンドラ); // {BASEADDRESS = BASEADDRESS};


フェロー記事のアドレス:https://www.cnblogs.com/xiaozhu39505/p/8033108.htmlは、      次のように読み取ります。

 

2つの一般的なアプローチがあります。

最初handler.UseCookies = true(デフォルトはtrueです)、デフォルトでは、例えば、自分のクッキーをもたらします

コードをコピー
VARハンドラ=新しいHttpClientHandler(){UseCookies = TRUE;}
VARクライアント=新しいHttpClientを(ハンドラ); // {BASEADDRESS = BASEADDRESS};
client.DefaultRequestHeaders.Add( "ユーザーエージェント"、 "Mozillaの/ 5.0(Windows NTの6.1; Win64の、x64の、RV:57.0)のGecko / 20100101 Firefoxの/ 57.0");
client.DefaultRequestHeaders.Add(「接続」、「キープアライブ」)。
client.DefaultRequestHeaders.Add( "キープアライブ"、 "タイムアウト= 600");
VARの内容=新しいFormUrlEncodedContent(新しいです[]
            {
                新しいKeyValuePair <文字列、文字列>( "メール"、 "XXXX")、
                新しいKeyValuePair <文字列、文字列>( "パスワード"、 "XXXX")、
            });
VaRの結果=のawait client.PostAsync( "https://www.xxxx.com/cp/login"、コンテンツ)。
result.EnsureSuccessStatusCode();
コードをコピー

成功した着陸した後、この場合のPOSTリクエスト、他のページへのリダイレクトは、自動的にクッキーをもたらすでしょう。handler.UseCookiesをfalseに設定した場合の着陸は自動的にクッキーをもたらすものではありませんした後、その後、リダイレクトすることは、それがランディングページにジャンプします。

 

第二セットhandler.UseCookies = falseの場合、手動ヘッダクッキーに加えます。

VARハンドラ=新しいHttpClientHandler(){UseCookies = FALSE;}
VARクライアント=新しいHttpClientを(ハンドラ); // {BASEADDRESS = BASEADDRESS};
VARメッセージ=新しいHttpRequestMessage(HttpMethod.Get、URL);
message.Headers.Add( "クッキー"、 "SESSION_ID = 7258abbd1544b6c530a9f406d3e600239bd788fb")。
VaRの結果=のawait client.SendAsync(メッセージ)。
result.EnsureSuccessStatusCode();

シーンがある場合は、次のウェブページデータを参照するには、ログインにクロールが必要、我々は最初の使用をお勧めします、任意のクッキーを設定する必要はありません、HTTPClientのクッキーは自動的にリクエストの背中に着陸した後に配置されます。

おすすめ

転載: www.cnblogs.com/lonelyxmas/p/12065759.html