我试图弄清楚我的网页返回的状态码,根据Linux子系统上的curl,它肯定是301 (永久移动),但使用curl或powershell上的WebRequest对象,它返回200 (OK)。
为什么会这样呢?
发布于 2016-12-15 12:35:36
这是因为.NET和PowerShell在默认情况下遵循重定向,但curl不这样做。HttpWebRequest.AllowAutoRedirect的默认值为true,Invoke-WebRequest的MaximumRedirection默认值为5。
要通过WebRequest关闭自动重定向,请执行以下操作:
$request = [System.Net.WebRequest]::Create("http://google.com")
$request.AllowAutoRedirect = $false
$request.GetResponse()或Invoke-WebRequest cmdlet:
Invoke-WebRequest -Uri "http://google.com" -MaximumRedirection 0或者,使用-L标志在curl中执行重定向:
curl -L google.comhttps://stackoverflow.com/questions/41156458
复制相似问题