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