欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#之HttpClient設置cookies的兩種方式

 更新時間:2023年11月07日 15:06:20   作者:YUNZHIBIDUAN_88  
這篇文章主要介紹了C#之HttpClient設置cookies的兩種方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

前言

最近公司使用HttpClient對象在發(fā)送請求,拋棄了之前的HttpWebRequest,使用httpClient有個好處:就是可以只使用一個HttpClient的實例,去完成發(fā)送所有的請求數(shù)據(jù)(地址,請求數(shù)據(jù),類型,Cookie等)。

而傳統(tǒng)的HttpWebRequest每次請求需要創(chuàng)建一個單獨的實例,且規(guī)避了一個老問題:Socket 連接釋放不及時的問題。

下面的是轉(zhuǎn)發(fā)其他道友的文章,主要是在使用的過程中,自身需要發(fā)送一個自定義的Cookie到目標服務器,但是死活發(fā)送不過去,最后百度其他道友的文章發(fā)現(xiàn)如果需要發(fā)送自己的Cookie,需要做一個設置:

var handler = new HttpClientHandler() { UseCookies = false};
var client = new HttpClient(handler);// { BaseAddress = baseAddress };

一般有兩種辦法

第一種

handler.UseCookies=true(默認為true),默認的會自己帶上cookies

例如:

var handler = new HttpClientHandler() { UseCookies = true };
var client = new HttpClient(handler);// { BaseAddress = baseAddress };
client.DefaultRequestHeaders.Add("user-agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0");
client.DefaultRequestHeaders.Add("Connection", "Keep-Alive");
client.DefaultRequestHeaders.Add("Keep-Alive", "timeout=600");
var content = new FormUrlEncodedContent(new[]
            {
                new KeyValuePair<string, string>("email", "xxxx"),
                new KeyValuePair<string, string>("password", "xxxx"),
            });
var result = await client.PostAsync("https://www.xxxx.com/cp/login", content);
result.EnsureSuccessStatusCode();

這種情況post請求登陸成功后,重定向到別的頁面,也會自動帶上cookies。

如果把handler.UseCookies設置為false,登陸后重定向的話不會自動帶上cookies,則又會跳轉(zhuǎn)到登陸頁面。

第二種

設置 handler.UseCookies = false時,則需要手動給headers上加入cookies.

var handler = new HttpClientHandler() { UseCookies = false};
var client = new HttpClient(handler);// { BaseAddress = baseAddress };
var message = new HttpRequestMessage(HttpMethod.Get, url);
message.Headers.Add("Cookie", "session_id=7258abbd1544b6c530a9f406d3e600239bd788fb");
var result = await client.SendAsync(message);
result.EnsureSuccessStatusCode();

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • C#如何讀寫應用程序配置文件App.exe.config,并在界面上顯示

    C#如何讀寫應用程序配置文件App.exe.config,并在界面上顯示

    這篇文章主要介紹了C#如何讀寫應用程序配置文件App.exe.config,并在界面上顯示問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • C# wpf使用ListBox實現(xiàn)尺子控件的示例代碼

    C# wpf使用ListBox實現(xiàn)尺子控件的示例代碼

    本文主要介紹了C# wpf使用ListBox實現(xiàn)尺子控件的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • 基于WPF實現(xiàn)跳動的字符效果

    基于WPF實現(xiàn)跳動的字符效果

    這篇文章主要和大家介紹一個好玩但實際作用可能不太大的動畫效果:跳動的字符,本文將利用WPF實現(xiàn)這一效果,感興趣的小伙伴可以學習一下
    2023-08-08
  • C# Winform實現(xiàn)圓角無鋸齒按鈕

    C# Winform實現(xiàn)圓角無鋸齒按鈕

    這篇文章主要為大家詳細介紹了C# Winform實現(xiàn)圓角無鋸齒按鈕,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • winform 實現(xiàn)選擇文件和選擇文件夾對話框的簡單實例

    winform 實現(xiàn)選擇文件和選擇文件夾對話框的簡單實例

    下面小編就為大家?guī)硪黄獁inform 實現(xiàn)選擇文件和選擇文件夾對話框的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • 詳解C# 代碼占用的空間

    詳解C# 代碼占用的空間

    這篇文章主要介紹了C# 代碼占用的空間的相關(guān)知識,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-02-02
  • C#處理Access中事務的方法

    C#處理Access中事務的方法

    這篇文章主要介紹了C#處理Access中事務的方法,涉及C#中事物的實現(xiàn)及使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-10-10
  • Unity中 mesh生成斜坡的示例代碼

    Unity中 mesh生成斜坡的示例代碼

    Mesh是指模型的網(wǎng)格,3D模型是由多邊形拼接而成,而多邊形實際上是由多個三角形拼接而成的,今天通過本文給大家介紹Unity中 mesh生成斜坡功能,感興趣的朋友一起看看吧
    2021-05-05
  • winform去掉右上角關(guān)閉按鈕的方法

    winform去掉右上角關(guān)閉按鈕的方法

    這篇文章主要介紹了winform去掉右上角關(guān)閉按鈕的方法,需要的朋友可以參考下
    2014-02-02
  • opencvsharp瑕疵檢測的實現(xiàn)示例

    opencvsharp瑕疵檢測的實現(xiàn)示例

    本文主要介紹了opencvsharp瑕疵檢測的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-05-05

最新評論