Добавить собственный заголовок в HttpWebRequest

92

Мне нужно добавить к HttpWebRequestобъекту несколько настраиваемых заголовков . Как добавить собственный заголовок к HttpWebRequestобъекту в Windows Phone 7.

Нельсон Т. Джозеф
источник

Ответы:

175

Вы используете 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

Андерс Торнблад
источник
также строку можно заменить на перечисление HttpRequestHeader, например httpWebRequest.Headers [HttpRequestHeader.Authorization] = "value";
OXXY
1
Это не ответит на исходный вопрос, @OXXY. HttpRequestHeaderПеречисление для стандартных заголовков - не для пользовательских единиц.
Андерс Торнблад
в API загрузки файла на Google Диск есть свойство с именем name, которое должно быть отправлено методом post. Итак, request.Headers ["name"] = "hello.txt"; Итак, это не отражается. Любая помощь Что мы должны использовать для пользовательских?
Susarla Nikhilesh
Данные POST не отправляются через заголовки, поэтому это не подходящее место для вашего вопроса. Пожалуйста, разместите новый вопрос.
Андерс Торнблад,
18

Простой метод создания службы, добавления заголовков и чтения ответа 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
Authorizationне является настраиваемым заголовком, и с ним следует обращаться более контролируемым образом.
Андерс Торнблад