2017-09-29 1 views
0

C#으로 응용 프로그램을 빌드하는 중 하나의 요구 사항은 헤더에 매우 특정한 데이터가 있어야한다는 것입니다. 나는 C#에서 WebClient 및 HttpWebRequest 클래스로 작업을하고 있지만 둘 다 Connection 헤더를 명시 적으로 제거 할 수있는 옵션이 없습니다. 이것은 내가 시도 것입니다 :HttpWebRequest 또는 WebClient - 데이터 게시시 Connection 헤더 제거 - C#

웹 클라이언트

client.Headers.Remove("Connection"); 
client.Headers.Add("Connection", null); // if only... 

HttpWebRequest를

request.Connection = null; 
request.Connection = ""; 

내가 읽고하는 경우에만이 헤더는 연결 유지하기 위해 설정 할 수 있다는 것입니다 중 일부를 또는 닫기를 클릭합니다. 나는 웹 요청조차하지 말아야한다.

다른 모든 필수 헤더는 정상적으로 추가됩니다. 머리 통증을 일으키는 것이 바로 이것입니다. Connection 헤더를 제거하는 것이 불가능하다고 생각하기 시작했습니다. 이 경우에 가능한 언어가 있습니까?

여러분이 이걸보기 위해 많은 시간을 보냅니다.

감사합니다.

+0

이전 HTTP 프로토콜 버전을 사용하는 옵션을 경우,이 대답 체크 아웃 : https : //로 유래를 .com/questions/8476296/http-webrequest-removing- –

+0

이것은 내가 취한 경로입니다. 결국 좀 더 회색 머리카락이 생겨 결국 내가 원하는 것을 얻었습니다! 고맙습니다! –

답변

-1

특정 헤더를 제거하는 방법이 확실하지 않지만 HttpWebRequest 또는 WebClient 대신 HttpClient 클래스를 사용해보십시오.

HttpClient class

이 클래스는 C#으로 HTTP 요청을 실행 더 최신의 방법입니다

+0

굉장합니다. 나는 이걸보고 다시보고 할거야! 감사! –

+0

이 HttpClient 클래스에서 볼 수있는 유일한 단점은 게시 할 때 개체를 사용해야하는 방법입니다. 가능한 경우 List 또는 NameValueCollection 객체를 사용하는 것을 선호해야합니다. –

+0

'PostAsJsonAsync' 메서드를 사용하여 목록을 올릴 수 있습니다 [https://msdn.microsoft.com/en-us/library/hh944521(v=vs.118).aspx] –