最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#之HttpClient設(shè)置cookies的兩種方式

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

前言

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

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

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

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設(shè)置為false,登陸后重定向的話不會自動帶上cookies,則又會跳轉(zhuǎn)到登陸頁面。

第二種

設(shè)置 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#調(diào)用C++庫:C++/CLI橋接方式

    C#調(diào)用C++庫:C++/CLI橋接方式

    這篇文章主要介紹了C#調(diào)用C++庫:C++/CLI橋接方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • C#算法之兩數(shù)之和

    C#算法之兩數(shù)之和

    這篇文章介紹了C#算法之兩數(shù)之和,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-01-01
  • C# WebApi 接口傳參詳解

    C# WebApi 接口傳參詳解

    這篇文章主要介紹了C# WebApi 接口傳參詳解,本篇打算通過get、post、put、delete四種請求方式分別談?wù)劵A(chǔ)類型(包括int/string/datetime等)、實體、數(shù)組等類型的參數(shù)如何傳遞。感興趣的小伙伴們可以參考一下
    2018-07-07
  • C#使用控制臺列出當前所有可用的打印機列表

    C#使用控制臺列出當前所有可用的打印機列表

    這篇文章主要介紹了C#使用控制臺列出當前所有可用的打印機列表,涉及C#操作計算機硬件的相關(guān)使用技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • WPF中的ListBox實現(xiàn)按塊顯示元素的方法

    WPF中的ListBox實現(xiàn)按塊顯示元素的方法

    這篇文章主要介紹了WPF中的ListBox實現(xiàn)按塊顯示元素的方法,涉及ListBox屬性設(shè)置相關(guān)操作技巧,需要的朋友可以參考下
    2016-09-09
  • C# 基礎(chǔ)之運算符

    C# 基礎(chǔ)之運算符

    這篇文章介紹了C# 運算符的基礎(chǔ)知識,有需要的朋友可以參考一下
    2013-09-09
  • C#  Task  TaskFactory  設(shè)置最大并行線程數(shù)的方法

    C#  Task  TaskFactory  設(shè)置最大并行線

    本文深入探討了LimitedConcurrencyLevelTaskScheduler的工作原理,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2026-04-04
  • C#多線程系列之資源池限制

    C#多線程系列之資源池限制

    這篇文章介紹了C#多線程的資源池限制,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • c#?chart縮放,局部放大問題

    c#?chart縮放,局部放大問題

    這篇文章主要介紹了c#?chart縮放,局部放大問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • C#利用時間和隨即字符串創(chuàng)建唯一的訂單編號

    C#利用時間和隨即字符串創(chuàng)建唯一的訂單編號

    本文介紹了利用時間和隨機字符串組合生成唯一訂單號的示例,從而保證訂單號不會重復(fù),希望能夠?qū)Υ蠹矣兴鶐椭?/div> 2016-03-03

最新評論

仁布县| 福建省| 抚松县| 高碑店市| 望城县| 紫阳县| 卢龙县| 鸡西市| 青川县| 黄石市| 丹阳市| 张北县| 车险| 东丽区| 双柏县| 昭觉县| 汉川市| 绍兴市| 乳源| 永善县| 进贤县| 虹口区| 札达县| 莱阳市| 牙克石市| 白沙| 衡阳市| 丰台区| 邵阳市| 囊谦县| 图们市| 石泉县| 松江区| 北碚区| 通化县| 怀化市| 嘉荫县| 信阳市| 保定市| 松滋市| 蒙自县|