Invoke-WebRequest от Powershell RawContentLength против Content.Length - PullRequest
0 голосов
/ 03 мая 2018

Я использую Powershell 5. Я заметил странное поведение в Invoke-WebRequest, выполняемое методом GET для html-страниц и файлов. Примером может быть следующий код:

$test1 = Invoke-WebRequest -Uri 'https://stackoverflow.com/' -Method Get
Write-Host "RawContentLength: $($test1.RawContentLength) bytes, ContentLength: $($test1.Content.Length) bytes"

Это дает мне «RawContentLength: 250286 байт, ContentLength: 250250 байт». Я думал, что разница была в том, что RawContent содержит заголовки и тело ответа, в то время как Content содержит только тело. Но затем я попробовал тот же код для файла:

$test2 = Invoke-WebRequest -Uri 'https://www.google.com/logos/doodles/2018/hannah-glasses-310th-birthday-5894265455509504-2x.jpg' -Method Get
Write-Host "RawContentLength: $($test2.RawContentLength) bytes, ContentLength: $($test2.Content.Length) bytes"

И он выдал «RawContentLength: 405686 байт, ContentLength: 405686 байт»!

Почему RawContentLength и Content.Length одинаковы для файла, но различны для веб-страницы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...