精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

我又踩坑了!如何為HttpClient請求設(shè)置Content-Type標(biāo)頭?

開發(fā) 前端
平臺顯示 :簽名校驗失敗, 排查到平臺收到的Post Payload并非預(yù)期,閱讀本文,解鎖正確使用Content-Type標(biāo)頭的姿勢。

[[344474]]

本文轉(zhuǎn)載自微信公眾號「Dotnet Plus」,作者小碼甲 。轉(zhuǎn)載本文請聯(lián)系Dotnet Plus公眾號。   

最近在重構(gòu)認(rèn)證代碼,認(rèn)證過程相當(dāng)常規(guī):

  1. POST   /open-api/v1/user-info?client_id&timstamp&rd=12345&sign=***&method=hmac 
  2. content-type: application/json 
  3. payload: { "token":"AA2917B0-C23D-40AB-A43A-4C4B61CC7C74"

 

平臺顯示 :簽名校驗失敗, 排查到平臺收到的Post Payload并非預(yù)期,閱讀本文,解鎖正確使用Content-Type標(biāo)頭的姿勢。

1. 入坑

下面是構(gòu)造HttpClient對象、發(fā)起請求的代碼:

  1. // 初始化HttpClientFactory 
  2. context.Services.AddHttpClient("platform", c => 
  3.     c.BaseAddress = new Uri("https://alpha-engage.demohost.com/"); 
  4.     c.DefaultRequestHeaders.Accept 
  5.     .Add(new MediaTypeWithQualityHeaderValue("application/json")); 
  6. })... 
  7.  
  8. // 產(chǎn)生命名HttpClient,發(fā)起請求 
  9.  var client = _clientFactory.CreateClient("platform"); 
  10.  var response = await client.PostAsync($"open-api/v1/user-token/info?{req.AuthString()}",new StringContent(req.ReqPayload.ToString(),Encoding.UTF8) ); 

平臺日志顯示,收到的請求payload:

  1. {\"token\":\"AA2917B0-C23D-40AB-A43A-4C4B61CC7C74\"

額,平臺收到的JSON數(shù)據(jù)被轉(zhuǎn)碼了,沒有識別出JSON?

明眼人一看,HttpClient請求沒有設(shè)置Content-Type,接收端沒有識別出JSON 格式的payload , 進(jìn)行了轉(zhuǎn)碼,生成了錯誤簽名。

① Content-Type是一個Entity Header,指示資源的mediaType ,可用在請求/響應(yīng)中

② 代碼中new StringContent(req.ReqPayload.ToString(),Encoding.UTF8) 沒有指定mediaType參數(shù),故函數(shù)會使用text/plain默認(rèn)值

------------------------------------------

當(dāng)我嘗試添加Content-Type時(下面黃色背景行代碼):

  1. context.Services.AddHttpClient("platform", c => 
  2.     c.BaseAddress = new Uri("https://alpha-engage.demohost.com/"); 
  3.     c.DefaultRequestHeaders.Accept 
  4.          .Add(new MediaTypeWithQualityHeaderValue("application/json"));//ACCEPT header 
  5.     c.DefaultRequestHeaders.Add("content-type""application/json"); 
  6. }) 

此時拋出以下異常:

  1. InvalidOperationException: Misused header name. Make sure request headers are used with 
  2. HttpRequestMessage, response headers with HttpResponseMessage, and 
  3. content headers with HttpContent objects.  

納尼,HttpContent Headers是啥?Chrome dev tools顯示只有兩種Header啊?

 

2. 爬坑

--- 信息 舉例 .NET類型
General Header 可同時作用在請求/響應(yīng)中,但是與傳輸數(shù)據(jù)無關(guān) Upgrade、Connection ---
Request Header 將要獲取的資源或客戶端本身的信息 Accept、
Authorization
HttpRequestHeaders
Response Header 響應(yīng)信息 Location、ETag HttpResponseHeaders
Entity
Header
實體Body額外的信息 Content-Length、
Connection
HttpContentHeaders

Content-Type屬于Entity Header的一種,對應(yīng).NET類型 HttpContent Header;

雖然Entity Header不是請求標(biāo)頭也不是響應(yīng)標(biāo)頭,它們還是會包含在請求/響應(yīng)標(biāo)頭術(shù)語中(此說法來自官方)。

所以我們在Chrome DevTools沒有看到Entity Headers分組, 卻常在請求/響應(yīng)標(biāo)頭中看到Content-Type標(biāo)頭。

回到上面的異常,.NET 嚴(yán)格區(qū)分四種標(biāo)頭,所以c.DefaultRequestHeaders.Add("content-type", "application/json") 嘗試將content-type添加到請求頭,姿勢不正確,.NET提示InvalidOperationException。

3. 填坑

給這個常規(guī)的Post請求設(shè)置正確的Content-Type標(biāo)頭。

方法① 對HttpRequestMessage對象Content屬性添加Header

  1.  using (var request = new HttpRequestMessage()) 
  2.      request.Method = new HttpMethod(method); 
  3.      request.RequestUri = new Uri(url); 
  4.      request.Content = new StringContent(payload); 
  5.      request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); 
  6.      var response = await _httpClient.SendAsync(request); 
  7.      return response; 

使用HttpClient.SendAsync(request)

方法② 寫入HttpContent時傳入媒體類型

StringContent某個重載構(gòu)造函數(shù) : 參數(shù)3 可直接設(shè)置media type,

  1. var response = await client.PostAsync($"open-api/v1/user-token/info?{req.AuthString()}",new StringContent(req.ReqPayload.ToString(),Encoding.UTF8,"application/json") ); 

 

責(zé)任編輯:武曉燕 來源: Dotnet Plus
相關(guān)推薦

2022-11-18 07:34:12

Docker項目目錄

2021-09-09 18:12:22

內(nèi)存分段式網(wǎng)絡(luò)

2024-04-10 08:39:56

BigDecimal浮點(diǎn)數(shù)二進(jìn)制

2023-03-06 07:50:19

內(nèi)存回收Go

2020-09-06 10:02:32

項目管理戰(zhàn)略目標(biāo)CIO

2020-03-31 16:02:23

戴爾

2025-05-27 01:55:00

MySQL數(shù)據(jù)庫工具鏈

2022-11-27 17:21:04

ClickHouseJDBC函數(shù)

2024-05-06 00:00:00

緩存高并發(fā)數(shù)據(jù)

2020-04-14 10:06:20

微服務(wù)Netflix語言

2019-10-30 14:44:41

Prometheus開源監(jiān)控系統(tǒng)

2025-08-21 08:03:22

MySQLPostgreSQL類型

2025-02-18 15:17:59

2024-11-20 18:16:39

MyBatis批量操作數(shù)據(jù)庫

2021-07-28 05:01:29

Lombok前端測試

2020-12-22 09:34:20

JavaScript開發(fā)技術(shù)

2022-12-07 15:37:32

參數(shù)不定參數(shù)

2023-01-18 23:20:25

編程開發(fā)

2020-09-15 08:46:26

Kubernetes探針服務(wù)端

2023-05-15 20:11:34

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

韩国日本不卡在线| 精品成人一区二区三区四区| 亚洲精品国产系列| 国产绿帽一区二区三区| 在线 亚洲欧美在线综合一区| 亚洲国产精品网站| 污片在线免费看| www.8ⅹ8ⅹ羞羞漫画在线看| 国产三级欧美三级| 99porn视频在线| 中国一级片黄色一级片黄| 欧美三级网页| 中文字幕精品久久久久| 人妻激情偷乱频一区二区三区| 国产精品极品美女在线观看| 一区二区三区在线不卡| 欧美一区免费视频| 午夜精品久久久久久久96蜜桃| 久久久久久久高潮| 精品自拍视频在线观看| 黄色av免费播放| 欧美电影在线观看完整版| 91精品国产综合久久国产大片| 欧美亚洲国产成人| 欧美韩日亚洲| 《视频一区视频二区| 免费精品视频一区| 手机看片一区二区三区| 国产在线视频不卡二| 日本国产一区二区三区| 国产性生活网站| 欧美a级成人淫片免费看| 亚洲乱码国产乱码精品精天堂 | 国模少妇一区二区三区| 国产成人精品一区二区| 好吊操这里只有精品| 欧美激情综合色综合啪啪| 丝袜美腿亚洲一区二区| 欧美激情视频二区| 国产成人影院| 亚洲国产精品专区久久| 精品少妇人妻av一区二区三区| 超碰国产精品一区二页| 欧美日韩另类国产亚洲欧美一级| 欧美一级片中文字幕| 国产美女精品写真福利视频| 亚洲成人你懂的| 欧美图片激情小说| 欧美女同一区| 亚洲国产成人高清精品| www.在线观看av| 亚洲资源一区| 一区二区三区产品免费精品久久75| 伊人久久av导航| 日本精品一区二区三区在线播放| 欧美激情在线免费观看| 亚洲 日韩 国产第一区| 1024视频在线| 最新国产の精品合集bt伙计| 久久av喷吹av高潮av| 久久久久久久久免费视频| 亚洲视频狠狠干| 国产91视频一区| av老司机在线观看| 亚洲综合色网站| 日本日本19xxxⅹhd乱影响| 国产在线精彩视频| 色婷婷久久综合| 黄色片视频在线| 国产精品久久久久久久久久辛辛| 日韩视频一区二区| www.555国产精品免费| 美女av一区| 亚洲视频在线播放| 最新黄色av网址| 午夜久久福利| 91国产视频在线播放| 成人免费一级片| 国产乱码字幕精品高清av| 成人一区二区三区四区| 午夜国产在线观看| 国产精品乱码久久久久久| 中国女人做爰视频| 在线手机中文字幕| 欧美精品丝袜久久久中文字幕| 亚洲欧美日韩精品一区| 日韩欧美中文在线观看| 日韩av在线免费播放| 日本综合在线观看| 欧美一区视频| 日本午夜精品理论片a级appf发布| 中文字幕无线码一区| 国产盗摄视频一区二区三区| 久中文字幕一区| 久久99精品久久| 精品女厕一区二区三区| 日韩欧美亚洲另类| 黄色欧美网站| 日韩有码在线视频| 亚洲国产成人无码av在线| 美女国产一区二区三区| 国模一区二区三区私拍视频| 在线免费黄色| 激情懂色av一区av二区av| 在线黄色免费观看| 嫩草国产精品入口| 久久亚洲欧美日韩精品专区| 手机看片久久久| 精品综合免费视频观看| 蜜桃导航-精品导航| 羞羞网站在线看| 欧美午夜电影在线播放| 日韩免费高清一区二区| 亚洲午夜精品一区二区国产| 国产成人高潮免费观看精品| 亚洲av无码片一区二区三区| 国产精品色在线观看| 亚洲自偷自拍熟女另类| 亚洲国产中文在线二区三区免| 国产一区二区久久精品| 1级黄色大片儿| 国产成人高清视频| 一区二区三区在线视频111| 超碰一区二区| 日韩成人xxxx| 日本网站在线播放| 国产盗摄女厕一区二区三区| 在线一区日本视频| 色婷婷综合久久久中字幕精品久久 | 九九九九九九精品任你躁| 亚洲石原莉奈一区二区在线观看| 在线看成人av| 不卡一卡二卡三乱码免费网站| 国产女人18毛片| 亚洲网站三级| 日韩一区av在线| 91精品国产色综合久久不8| 久久人人超碰精品| 亚洲乱码中文字幕久久孕妇黑人| 精品国产影院| 97超级碰在线看视频免费在线看 | 欧美一区二区三区网站| 94色蜜桃网一区二区三区| 精品成在人线av无码免费看| 一区二区三区国产好| 欧美成人激情图片网| 国产尤物视频在线观看| 中文字幕在线免费不卡| 在线视频一二区| 亚洲九九在线| 99re国产视频| 国产精品69xx| 日韩成人av在线| 91午夜精品亚洲一区二区三区| 久久综合视频网| 国产一区亚洲二区三区| 国产欧美日韩精品一区二区免费| 日韩av电影在线播放| 搞黄视频免费在线观看| 欧美视频一区在线| 成年人免费视频播放| 国产在线播放一区| 日韩极品视频在线观看| 久久久久97| 国产成人精品最新| 淫片在线观看| 日韩欧美国产成人一区二区| 国产无码精品久久久| 99精品久久免费看蜜臀剧情介绍| 农村妇女精品一二区| 日本成人小视频| 亚洲影视中文字幕| 国产又色又爽又黄刺激在线视频| 日韩国产精品视频| 中文字幕日韩经典| 一个色在线综合| 大地资源二中文在线影视观看 | 日本少妇一区二区三区| 影音先锋久久精品| 日本一区二区三区视频在线观看| 四虎精品一区二区免费| 久久频这里精品99香蕉| 黄上黄在线观看| 这里只有精品视频在线观看| 日韩成人免费在线视频| 欧美激情一区二区在线| 国产精品91av| 日本vs亚洲vs韩国一区三区二区| 妞干网这里只有精品| 一本色道久久综合亚洲精品酒店 | 香蕉人人精品| 成人性生交大片免费看视频直播 | αv一区二区三区| 日韩影片中文字幕| 欧美大成色www永久网站婷| 久久伊伊香蕉| 精品剧情在线观看| 中文字幕理论片| 亚洲成人综合在线| 欧美视频一区二区在线| av欧美精品.com| 中文字幕第17页| 国产日韩视频| 男人草女人视频| 日韩电影一区| 欧美高清性xxxxhd| 这里视频有精品| 国产热re99久久6国产精品| 麻豆蜜桃在线观看| 久久99久久久久久久噜噜| 9191在线| 国产亚洲欧美一区| 少妇一级淫片免费看| 日韩丝袜美女视频| 亚洲午夜激情视频| 欧美色欧美亚洲高清在线视频| 91人妻一区二区三区蜜臀| 久久精品一区八戒影视| 中文字幕一区二区三区乱码不卡| 久久国产成人午夜av影院| 日日摸日日碰夜夜爽av| 亚洲午夜极品| 视色,视色影院,视色影库,视色网 日韩精品福利片午夜免费观看 | 精品国产_亚洲人成在线| 高清国产一区二区三区四区五区| 国产精品aaa| 韩日精品一区二区| 91精品国产免费久久久久久| 天堂8中文在线| 欧美成人激情视频免费观看| 成人日韩欧美| 久久亚洲私人国产精品va| 黄网页在线观看| 久久精品99国产精品酒店日本| av国产在线观看| 在线视频中文亚洲| 高清在线观看av| 一区二区在线视频播放| 精品亚洲综合| 国产亚洲精品久久| 蜜芽tv福利在线视频| 亚洲美女av黄| 视频一区二区在线播放| 亚洲高清一二三区| 偷拍精品一区二区三区| 亚洲精品99久久久久| 欧美熟女一区二区| 亚洲精品电影在线观看| 四虎影视在线观看2413| 日韩av在线免费观看| 免费动漫网站在线观看| 一区二区三区无码高清视频| yiren22综合网成人| 最近2019中文免费高清视频观看www99| 黄色软件在线| 色综合亚洲精品激情狠狠| 免费观看久久久久| 麻豆一区二区在线观看| 午夜伦理在线视频| 国内精品久久久久久久| а√天堂8资源中文在线| 欧美最近摘花xxxx摘花| 国产成人精品123区免费视频| 国产精品女人网站| 欧洲大片精品免费永久看nba| 成人黄视频免费| 亚洲欧美tv| 亚洲欧洲中文| 欧美激情 亚洲a∨综合| 乱人伦xxxx国语对白| 久久久精品五月天| 亚洲黄色片免费| 成人毛片视频在线观看| 蜜桃无码一区二区三区| 亚洲欧洲日本在线| 国产成人精品亚洲男人的天堂| 欧美小视频在线| 97超视频在线观看| 精品乱码亚洲一区二区不卡| 激情视频在线观看免费| 欧美乱妇40p| 9i看片成人免费高清| 91精品国产综合久久久久久久久 | 国产亚洲精品一区二区| 国产一区久久精品| 91高潮精品免费porn| 亚洲91在线| 久久精品aaaaaa毛片| 97久久视频| 男人和女人啪啪网站| 久久66热re国产| 国产精品无码在线| 亚洲欧美成人一区二区三区| 天天操夜夜操视频| 日韩无一区二区| 1024国产在线| 97在线视频国产| 成人黄色91| 日本高清久久一区二区三区| 欧美 日韩 国产精品免费观看| 国产aaa一级片| 国产精品一二三| 91视频免费在观看| 亚洲成人精品影院| 国产又大又粗又长| 亚洲图片在线综合| 2020av在线| 97久久天天综合色天天综合色hd| 国产影视一区| 亚洲自偷自拍熟女另类| 成人性生交大片免费看视频在线| 国产在视频线精品视频| 色综合久久综合网| 欧美 日韩 中文字幕| 久久九九免费视频| 国产在线|日韩| 久久国产精品久久精品国产| 国产一区久久| 在线免费观看av网| 亚洲欧洲99久久| 中文字幕精品视频在线观看| 亚洲精品久久久久中文字幕欢迎你| 国产在线观看免费麻豆| 国产精品一香蕉国产线看观看 | 成人在线分类| 亚洲精品免费在线看| 视频在线在亚洲| 女同毛片一区二区三区| 亚洲成a人v欧美综合天堂 | 亚洲免费av片| 日韩在线伦理| 久久久久久九九九九| 91久久夜色精品国产九色| 黑人玩弄人妻一区二区三区| 伊人婷婷欧美激情| 精品人妻aV中文字幕乱码色欲 | 日韩在线国产| 日韩精品91亚洲二区在线观看| 白丝女仆被免费网站| 日本道色综合久久| 国产福利小视频在线观看| 国产成人精品免费久久久久| 国产成人一区| 538任你躁在线精品免费| 中文一区二区在线观看| 国产情侣免费视频| 日韩在线观看免费网站| 久久福利在线| 黑人巨茎大战欧美白妇| 国产成人精品亚洲日本在线桃色| 国产高清在线免费观看| 精品捆绑美女sm三区| 国产在线观看www| 欧美一卡2卡3卡4卡无卡免费观看水多多| 久久只有精品| 林心如三级全黄裸体| 欧美浪妇xxxx高跟鞋交| 在线免费观看a视频| 狠狠干一区二区| 日韩精品一级二级| 激情高潮到大叫狂喷水| 91麻豆精品久久久久蜜臀| 性xxxfreexxxx性欧美| 黄色99视频| 日韩黄色免费电影| 黄色录像免费观看| 日韩精品一区在线| 亚洲最大成人| 亚洲一区二区在线免费观看| 国产精品白丝jk白祙喷水网站| 久久网中文字幕| 亚洲精品一区二区久| 日本久久二区| 国产妇女馒头高清泬20p多| 久久综合九色综合久久久精品综合| 黄色一区二区视频| 九九久久国产精品| 久操成人av| 亚洲精品mv在线观看| 狠狠躁天天躁日日躁欧美| av影片免费在线观看| 操一操视频一区| 日韩精品欧美成人高清一区二区| 91狠狠综合久久久| 日韩av中文字幕在线播放| 在线日韩三级| 日本中文字幕网址| **网站欧美大片在线观看| 日韩资源在线| 91久久精品国产91久久性色| 亚洲精品影视| 久久久久久久久久97| 日韩久久精品成人| 国产精品美女久久久久人| 99爱视频在线| 亚洲美腿欧美偷拍| 高清毛片在线看| 国产女主播一区二区| 精油按摩中文字幕久久| 亚洲自拍一区在线观看|