У меня есть консольное приложение .NET Core 2.0, которое выполняет запрос GET.
Похоже, опубликованная версия не отправляет заголовки Accept-Encoding
для сжатия на тестовой машине, но работает на моей локальной машине.
Я не могу найти каких-либо других предварительных условий, которые могли бы привести к сбою сжатия. Оба используют пакет SDK для .NET Core 2.1.4.
Я протестировал консольное приложение, запустив dotnet Console.dll
в обеих средах.
- Опубликовать в VS2017
- Перейдите в выходную папку и запустите
dotnet Console.dll
. Убедитесь, что заголовок присутствует в Fiddler. - Скопируйте всю выходную папку и разверните на сервере
- Запустите
dotnet Console.dll
еще раз и проверьте отсутствие заголовка на сервере с помощью Fiddler.
Я пробовал и HttpClient
, и RestSharp
, и я очень озадачен.
Доказательство концепции, которая переходит на страницу, которая повторяет заголовки запроса:
var handler = new HttpClientHandler()
{
AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip
};
using (var client = new HttpClient(handler))
{
response = client.GetStringAsync("http://scooterlabs.com/echo").Result;
}
Локальная среда (Win10)
GET http://scooterlabs.com/echo HTTP/1.1
Connection: Keep-Alive
Accept-Encoding: gzip, deflate
Host: scooterlabs.com
Сервер (Win2008 R2 на AWS)
GET http://scooterlabs.com/echo HTTP/1.1
Connection: Keep-Alive
Host: scooterlabs.com
AutomaticDecompression
)? - person Evk   schedule 09.02.2018Accept-Encoding
. Я ничего не предполагаю, Fiddler подтверждает, что заголовок не отправлен. - person Jun Wei Lee   schedule 09.02.2018client.DefaultRequestHeaders.AcceptEncoding.Add(new StringWithQualityHeaderValue("gzip"));
- person Jun Wei Lee   schedule 09.02.2018HttpClientHandler
. Проверьте полученные двоичные данные. Сценарий 2) Включить сжатие вHttpClientHandler
. Проверьте полученный открытый текст. Таким образом, он получает сжатые данные и может автоматически распаковывать их. - person Jun Wei Lee   schedule 09.02.2018server
наanother machine
. - person Jun Wei Lee   schedule 09.02.2018http request
заголовками, отсутствующимиAccept-Encoding
в консольном приложении. - person Jun Wei Lee   schedule 09.02.2018