Tambahkan header kustom di HttpWebRequest

90

Saya perlu menambahkan beberapa tajuk khusus ke HttpWebRequestobjek. Bagaimana cara menambahkan Header Kustom ke HttpWebRequestobjek di Windows Phone 7.

Nelson T Joseph
sumber

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

Anders Tornblad
sumber
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());
        }
    }
Hiu
sumber
3
Authorizationbukan tajuk ubahsuaian, dan harus ditangani dengan cara yang lebih terkontrol.
Anders Tornblad