[英]How can I set response header in httpclient in C#?
我收到 text/html 格式的響應。如何設置響應 header 以便獲得 application/json 格式的響應。
代碼:
var httpRequestMessage = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = builder.Uri,
Headers = {
{ HttpResponseHeader.ContentType.ToString(), "application/json" },
{ "Auth", "###################################################" }
}
};
var httpResponse = await _httpClient.SendAsync(httpRequestMessage);
你沒有。 內容類型 header
作為響應,Content-Type header告訴客戶端返回內容的實際內容類型是什么。
服務器決定響應的內容類型,客戶端使用它進行相應的處理。 您可以在請求中設置開箱即用的任何內容。
如果您正在處理響應創建,您可以創建一個自定義 header 來指示響應的類型並讓服務器端代碼處理它,但這通常不應該這樣做。
正如@Athanasios 所述,您不能指定服務器返回的 Content-Type。 但是,您可以嘗試一件事:您可以告訴服務器您想要獲得 JSON 格式的響應。
設置 HTTP Header Accept
to application/json
但是,最終還是由服務器來決定返回什么內容
看來您正在尋找接受header。 接下來試試:
var httpRequestMessage = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = builder.Uri,
Headers = {
{ "Accept", "application/json"},
{ "Auth", "###################################################" }
}
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.