Tambahkan header kustom di HttpWebRequest


Jawaban:


172

Anda menggunakan Headersproperti dengan indeks string:

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

Menurut MSDN, ini telah tersedia sejak:

  • Platform Windows Universal 4.5
  • .NETFramework 1.1
  • Perpustakaan Kelas Portabel
  • 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


juga string dapat diganti dengan enum HttpRequestHeader seperti ini httpWebRequest.Headers [HttpRequestHeader.Authorization] = "value";
OXXY

1
Itu tidak akan menjawab pertanyaan awal, @OXXY. The HttpRequestHeaderpencacahan adalah untuk header standar - bukan untuk yang kustom.
Anders Tornblad

ada properti bernama name di api unggah file google drive, yang harus dikirim melalui metode posting. Jadi, request.Headers ["name"] = "hello.txt"; Jadi, itu tidak mencerminkan. Any Help Apa yang harus kita gunakan untuk custom?
Susarla Nikhilesh

Data POST tidak dikirim melalui Header, jadi ini bukan tempat yang tepat untuk pertanyaan Anda. Silakan posting pertanyaan baru.
Anders Tornblad

17

Metode sederhana untuk membuat layanan, menambahkan header dan membaca respons 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());
        }
    }

3
Authorizationbukan tajuk ubahsuaian, dan harus ditangani dengan cara yang lebih terkontrol.
Anders Tornblad

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.