HttpWebRequest'e özel başlık ekleyin


Yanıtlar:


175

Sen kullanmak Headersbir dize indeksi özelliği:

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

MSDN'ye göre, bu şu tarihten beri mevcuttur:

  • Evrensel Windows Platformu 4.5
  • .NET Framework 1.1
  • Taşınabilir Sınıf Kitaplığı
  • 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


ayrıca dize, bu httpWebRequest.Headers [HttpRequestHeader.Authorization] = "value" gibi enum HttpRequestHeader ile değiştirilebilir;
OXXY

1
Bu, @OXXY adlı orijinal soruyu yanıtlamaz. HttpRequestHeaderDeğil, özel olanlar için - numaralandırma standart başlıklarını içindir.
Anders Tornblad

google drive dosya yükleme api'sinde post yöntemi ile gönderilmesi gereken name adında bir özellik var. Yani request.Headers ["name"] = "merhaba.txt"; Yani yansıtmıyor. Herhangi bir Yardım Özel olanlar için ne kullanmalıyız?
Susarla Nikhilesh

POST verileri Başlıklar aracılığıyla gönderilmez, bu nedenle sorunuz için burası doğru yer değildir. Lütfen yeni bir soru gönderin.
Anders Tornblad

18

Hizmeti oluşturmanın, başlıklar eklemenin ve JSON yanıtını okumanın basit bir yöntemi,

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
Authorizationözel bir başlık değildir ve daha kontrollü bir şekilde ele alınmalıdır.
Anders Tornblad

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.