Skip to content

Instantly share code, notes, and snippets.

@hansgafriedzal
Last active November 5, 2020 16:48
Show Gist options
  • Save hansgafriedzal/8a87e8e2223963c40a5170a60db3159d to your computer and use it in GitHub Desktop.
Save hansgafriedzal/8a87e8e2223963c40a5170a60db3159d to your computer and use it in GitHub Desktop.
cls
$url = 'https://www.google.com'
$retryInterval = 2
$c = 1
function Get-Response
{
param($url)
Write-Progress -Activity "attempt number #$c" -Status $url
$response = Invoke-WebRequest $url `
-Headers @{
'Cache-Control'='no-cache'
'User-Agent' = 'xtr-cwp-defmon'
'x-defmonmonitor' = ("xtr-cwp-defmon?t=" + (Get-Date -f 'yyyyMMddHHmm'))
}
#$parsedHtml = $response.ParsedHtml
#$meta = ($parsedHtml.IHTMLDocument3_getElementsByTagName('meta') | %{$_.outerHTML}) -join [Environment]::NewLine
#$contents = $parsedHtml.IHTMLDocument3_getElementById('contents').innerHtml
#$contentsEnc = [System.Text.Encoding]::ASCII.GetString([System.Text.Encoding]::ASCII.GetBytes($contents))
$b = $false
$rawContent = $response.RawContent -split [Environment]::NewLine | %{
if (!$b -and $_ -like '*contents*')
{
$b = $true
}
if ($_ -like '*// FOOTER START*')
{
$b = $false
}
if ($b)
{
$_
}
}
$rawContent = $rawContent -join [Environment]::NewLine
$meta,$contentsEnc,$rawContent -join [Environment]::NewLine
}
Get-Response $url | tee -Variable baseline
[System.IO.File]::WriteAllLines('baseline.txt', $baseline)
# open baseline in browser
#start msedge -ArgumentList $url,'--inprivate'
Get-Date
do
{
$c++
$guid = (New-Guid).ToString()
sleep $retryInterval
$currentVersion = Get-Response ($url + "?" + $guid)
}
while ($baseline -eq $currentVersion)
Get-Date
Write-Host "attempt" $c -ForegroundColor Red
$currentVersion
# open current version in browser
# do a hard-refresh to get the difference
#start msedge -ArgumentList $url,'--inprivate'
[System.IO.File]::WriteAllLines('currentVersion.txt', $currentVersion)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment