HttpWebRequest Header Add 오류

안녕하세요.

HttpWebRequest Header에 ‘Content-Type’, ‘Accept’ 등 Add 함수를 통해 진행하면 오류가 발생합니다.

미리 정의되어있지 않은 것에 대한 Add 는 문제가 없는데 미리 정의되어있는 것에 대해서는 오류나는 것 같아 문의글을 올립니다.

해당 경우는 어떻게 처리를 해야 할까요?

아래는 제가 작성한 코드입니다. 문제 상황 파악하기 위해 첨부했습니다.

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(string.Concat(this.BaseUrl, pathAndQuery));

this.header.GetHeaderList().ToList().ForEach(x => request.Headers.Add(x.Key, x.Value));

1 Like

제한된 헤더는 Headers.Add()를 통해 추가할 수 없습니다.

  • Accept
  • Connection
  • Content-Length
  • Content-Type
  • Date
  • Expect
  • Host
  • If-Modified-Since
  • Range
  • Referer
  • Transfer-Encoding
  • User-Agent
  • Proxy-Connection

해결방법은 다음처럼 명시적으로 헤더를 수정하는 것입니다.

request.ContentType = "...";
request.Accept = "...";
3 Likes