HttpWebRequestにカスタムヘッダーを追加する


回答:


171

Headersプロパティは文字列インデックスで使用します。

request.Headers["X-My-Custom-Header"] = "the-value";

MSDNによると、これは次の時点から利用可能です:

  • ユニバーサルWindowsプラットフォーム4.5
  • .NET Framework 1.1
  • ポータブルクラスライブラリ
  • Silverlight 2.0
  • Windows Phone Silverlight 7.0
  • Windows Phone 8.1

https://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.headers(v=vs.110).aspx


また、文字列は、このhttpWebRequest.Headers [HttpRequestHeader.Authorization] = "value";のように列挙型HttpRequestHeaderで置き換えることができます。
OXXY

1
これは元の質問@OXXYには答えません。HttpRequestHeaderないカスタムのもののために-列挙が標準ヘッダーのためです。
Anders Tornblad、2016

GoogleドライブファイルアップロードAPIにはnameというプロパティがあり、postメソッドを介して送信する必要があります。したがって、request.Headers ["name"] = "hello.txt"; つまり、反映されていません。任意のヘルプカスタムのものには何を使用すればよいですか?
Susarla Nikhilesh

POSTデータはヘッダーを介して送信されないため、これは質問に適した場所ではありません。新しい質問を投稿してください。
アンダーストルンブラッド2018

16

サービスを作成し、ヘッダーを追加してJSON応答を読み取る簡単な方法

private static void WebRequest()
    {
        const string WEBSERVICE_URL = "<<Web service URL>>";
        try
        {
            var webRequest = System.Net.WebRequest.Create(WEBSERVICE_URL);
            if (webRequest != null)
            {
                webRequest.Method = "GET";
                webRequest.Timeout = 12000;
                webRequest.ContentType = "application/json";
                webRequest.Headers.Add("Authorization", "Basic dchZ2VudDM6cGFdGVzC5zc3dvmQ=");

                using (System.IO.Stream s = webRequest.GetResponse().GetResponseStream())
                {
                    using (System.IO.StreamReader sr = new System.IO.StreamReader(s))
                    {
                        var jsonResponse = sr.ReadToEnd();
                        Console.WriteLine(String.Format("Response: {0}", jsonResponse));
                    }
                }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.ToString());
        }
    }

2
Authorizationはカスタムヘッダーではないため、より制御された方法で処理する必要があります。
Anders Tornblad 2017

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.