Dodaj niestandardowy nagłówek w HttpWebRequest


Odpowiedzi:


172

Używasz Headerswłaściwości z indeksem ciągu:

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

Według MSDN jest to dostępne od:

  • Uniwersalna platforma Windows 4.5
  • .NET Framework 1.1
  • Przenośna biblioteka klas
  • 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


również ciąg można zastąpić wyliczeniem HttpRequestHeader, takim jak ten httpWebRequest.Headers [HttpRequestHeader.Authorization] = "wartość";
OXXY,

1
To nie odpowiadałoby na pierwotne pytanie, @OXXY. HttpRequestHeaderWyliczenie jest dla standardowych nagłówków - nie dla tych niestandardowych.
Anders Tornblad

istnieje właściwość o nazwie nazwa w interfejsie API przesyłania pliku na dysk Google, która powinna zostać przesłana metodą pocztową. Tak więc request.Headers ["name"] = "hello.txt"; Więc to nie odzwierciedla. Każda pomoc Czego powinniśmy używać do niestandardowych?
Susarla Nikhilesh

Dane POST nie są przesyłane przez nagłówki, więc to nie jest właściwe miejsce na Twoje pytanie. Proszę zadać nowe pytanie.
Anders Tornblad

17

Prosta metoda tworzenia usługi, dodawanie nagłówków i odczytywanie odpowiedzi 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
Authorizationnie jest niestandardowym nagłówkiem i powinien być obsługiwany w bardziej kontrolowany sposób.
Anders Tornblad

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.