在powershell中,我的脚本有一个奇怪的问题,我想检查一下下载页面的平均时间。我写的脚本经常触发。但是有时我的脚本返回结果0,这意味着它以0毫秒下载站点。如果我修改我的脚本,将整个站点保存到文件中,当下载时间大约为0ms时,它不会保存任何东西。如果我做错了什么,或者powershell函数不能精确地计算出如此“小”的时间,我很感兴趣。
ps。其他“好”的结果大约是4-9毫秒。
下面是我的脚本的一部分,它响应于计算下载时间:
$StartTime = Get-Date
$PageDownload = $Request.DownloadString("mypage.com")
$TimeTaken = ((Get-Date) - $StartTime).TotalMilliseconds
发布于 2015-01-24 17:45:31
Get-Date
应该和系统时钟一样精确。
可能会有网络缓存在进行。不幸的是,从WebClient中禁用what I see elsewhere缓存是不可能的。“做得对”方法是用TcpClient类构造您自己的Http请求,但这也是pretty complex。
确保不被缓存的一种简单方法是将任意值作为GET请求。这是一个黑客,但它往往足以欺骗一个缓存。因此,与其:
"http://mypage.com"
你用:
"http://mypage.com?someUnusedValueName=$([System.Environment]::TickCount)"
https://stackoverflow.com/questions/28126098
复制相似问题