2016-10-20 6 views
3

.netcore에서 HTTPClient을 사용하고 있지만 맞춤 수락 헤더를 추가 할 때 문제가 있습니다. .netcore의 HttpClient가 자동으로 헤더에 공백을 추가합니다.

var client = new HttpClient { Timeout = new TimeSpan(0, 5, 0)}; 
client.DefaultRequestHeaders.Clear(); 
client.DefaultRequestHeaders.TryAddWithoutValidation("Accept", "application/vnd.pagseguro.com.br.v3+json;charset=ISO-8859-1"); 

그러나이 후

은, 내가 보는 것은 공간이보기 자동 " application/vnd.pagseguro.com.br.v3+json; charset=ISO-8859-1"의 결과로 추가 된 것입니다. 서버가 나에게 오류를 반환하기 때문에 그 공간은 나를 괴롭히는 원인이되고있다. 그 공간이 없으면 작동합니다.

HttpClient 헤더의 해당 공간을 제거하는 방법이 있습니까? 기존의 방법은 trim 또는 DefaultRequestHeaders 안에있는 replace과 같이 작동하지 않으며 직접 수정할 수 없습니다.

+0

나는 그렇게 생각하지 않습니다. 그것은 이상하게 들린다. 서버가이를 수락해야합니다. 공백은 표준에 따라 허용됩니다. –

+0

나는 생각한다. 그러나 슬프게도 UOL 서버는 공간을 허용하지 않습니다. 나는 우체부도 시험했다. 하지만 Patrick에게 감사의 말을 전합니다. –

+0

UOL이란 ... ...? –

답변

1

.net Framework 4.5로 새로운 마이크로 서비스를 만들어서이 문제를 해결할 수있었습니다. HttpWebRequest를 사용하면 헤더는 charset과 accept 사이에 자동으로 공백을 넣지 않습니다.

감사합니다. D =