簡體   English   中英

HTTP 請求標頭自定義值不會發送到服務器 C#

[英]HTTP request header custom value not going to server C#

我正在向我的請求添加自定義標頭。 我調試代碼時可以看到它。 但是得到一個錯誤,它從服務器中丟失。

HttpWebRequest request;
request = GenerateRequest("https://at.test.com/test/api/test/v1/TestApplications HTTP/1.1", content, "application/json", "POST");

request.Headers.Add("Custom-Signature", signature);
return GetResponseContent(request);

這就是我添加標題的方式。

很久以前提出這個問題。 我在使用 web api 2.0 時遇到了同樣的問題,我的解決方案是使用Request.Content.Headers而不是Request.Headers

然后我宣布了一個extestion如下

  /// <summary>
    /// Returns an individual HTTP Header value
    /// </summary>
    /// <param name="headers"></param>
    /// <param name="key"></param>
    /// <returns></returns>
    public static string GetHeader(this HttpContentHeaders headers, string key, string defaultValue)
    {
        IEnumerable<string> keys = null;
        if (!headers.TryGetValues(key, out keys))
            return defaultValue;

        return keys.First();
    }

然后我通過這種方式調用它。

  var headerValue = Request.Content.Headers.GetHeader("custom-header-key", "default-value");

我希望它可能會有所幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM