powershell curl and WebRequest both follow redirects
It is because .NET and PowerShell are following redirects by default but curl does not do this. The default value of HttpWebRequest.AllowAutoRedirect
is true and Invoke-WebRequest's MaximumRedirection default value is 5.
To turn off automatic redirection via WebRequest:
$request = [System.Net.WebRequest]::Create("http://google.com")$request.AllowAutoRedirect = $false$request.GetResponse()
or Invoke-WebRequest cmdlet:
Invoke-WebRequest -Uri "http://google.com" -MaximumRedirection 0
Alternatively, use the -L flag to follow redirects in curl:
curl -L google.com