HttpWebRequest에 사용자 지정 헤더 추가


답변:


172

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


또한 문자열은 다음과 같이 enum HttpRequestHeader로 대체 될 수 있습니다. httpWebRequest.Headers [HttpRequestHeader.Authorization] = "value";
OXXY

1
원래 질문 인 @OXXY에 대한 답이 아닙니다. HttpRequestHeader없는 사용자 정의 것들에 대한 - 열거 표준 헤더입니다.
Anders Tornblad 2010

Google 드라이브 파일 업로드 API에 name이라는 속성이 있으며 이는 post 메소드를 통해 전송되어야합니다. 그래서 request.Headers [ "name"] = "hello.txt"; 그래서 그것은 반영되지 않습니다. 어떤 도움 우리는 사용자 지정 항목에 대해 무엇을 사용해야합니까?
Susarla Nikhilesh

POST 데이터는 헤더를 통해 전송되지 않으므로 질문에 적합한 장소가 아닙니다. 새 질문을 게시하십시오.
Anders Tornblad

17

서비스를 만들고 헤더를 추가하고 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은 사용자 정의 헤더가 아니며보다 제어 된 방식으로 처리되어야합니다.
Anders Tornblad 2011

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.