Powershell的Invoke-WebRequest RawContentLength vs Content.Length

时间:2018-05-03 03:18:46

标签: powershell http

我正在使用Powershell 5.我注意到在使用GET方法对html页面和文件执行的Invoke-WebRequest中有一个奇怪的行为。一个例子可以是以下代码:

$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包含响应头和body,而Content只包含body。但后来我对一个文件尝试了相同的代码:

$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是文件,那么它们是相同的,但是当它是一个网页时会有所不同吗?

0 个答案:

没有答案