亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從響應中獲取位置標頭,httpclient

從響應中獲取位置標頭,httpclient

C#
牛魔王的故事 2021-11-07 19:46:16
我有向 REST API 發出 POST 請求的當前代碼:string url = "https://xxxx.azurewebsites.net/api/walk/";string sContentType = "application/json";JObject jsonObject = new JObject();jsonObject.Add("Duration", walkInfo.Duration);jsonObject.Add("WalkDate", walkInfo.WalkDate);HttpClient oHttpClient = new HttpClient();var oTaskPostAsync = oHttpClient.PostAsync(url, new StringContent(jsonObject.ToString(), Encoding.UTF8, sContentType));它工作得很好,我遇到的問題是我無法弄清楚如何從 API 的響應中獲取位置標頭。當我通過郵遞員進行測試時,我可以看到位置標頭設置為Location → http://xxx/api/walk/5,因此我需要在執行 PostAsync 后獲取此 Location 值。
查看完整描述

1 回答

?
浮云間

TA貢獻1829條經驗 獲得超4個贊

正如我在文檔中看到的,您需要訪問包含在變量“oTaskPostAsync”中的結果。


因此,要獲取位置,您應該執行以下操作:


string url = "https://xxxx.azurewebsites.net/api/walk/";

string sContentType = "application/json";


JObject jsonObject = new JObject();

jsonObject.Add("Duration", walkInfo.Duration);

jsonObject.Add("WalkDate", walkInfo.WalkDate);



HttpClient oHttpClient = new HttpClient();

var oTaskPostAsync = oHttpClient.PostAsync(url, new StringContent(jsonObject.ToString(), Encoding.UTF8, sContentType));

var location = oTaskPostAsync.Headers.Location;

Location 應該返回一個 Uri 對象。


注意:在這里您必須小心,因為您正在進行異步調用,您必須考慮到在服務器響應之前您可能不會擁有該值,因此您可能應該使用“await”進行同步。


查看完整回答
反對 回復 2021-11-07
  • 1 回答
  • 0 關注
  • 207 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號