Powershell下载页面的时间为0毫秒

时间:2015-01-24 13:41:16

标签: powershell

我在PowerShell中的脚本有一个奇怪的问题,我想检查下载页面的平均时间。我写剧本频繁发作的剧本。但有时我的脚本会返回结果0,这意味着它会在0毫秒内下载网站。如果我修改了我的脚本,以便在下载时间大约为0毫秒时将整个站点保存到文件中,则不会保存任何内容。如果我做错了什么我会很有趣,或者说PowerShell功能不太精确,不能算这么“小”。

PS。其他“好”的结果大概是4-9毫秒。

以下是我的脚本的一部分,它响应计算下载时间:

$StartTime = Get-Date
$PageDownload = $Request.DownloadString("mypage.com")
$TimeTaken = ((Get-Date) - $StartTime).TotalMilliseconds 

1 个答案:

答案 0 :(得分:3)

Get-Date应该与系统时钟一样精确。

可能会有网络缓存。遗憾的是,从what I see elsewhere开始,无法禁用WebClient的缓存。 "做对了"方法是使用TcpClient类构造自己的Http请求,但这也是pretty complex

确保您不被缓存的一种简单方法是将任意值作为GET请求。它是一个黑客攻击,但通常足以欺骗缓存。所以,而不是:

"http://mypage.com"

您使用:

"http://mypage.com?someUnusedValueName=$([System.Environment]::TickCount)"