blu*_*isk 5 powershell curl webrequest
我试图弄清楚我的网页返回的状态代码,根据Linux子系统的卷曲,肯定是301(永久移动),但是在PowerShell上使用curl或WebRequest对象,它返回200(OK).
为什么是这样?
Mik*_*ray 14
这是因为默认情况下.NET和PowerShell遵循重定向,但curl不会这样做.默认值为HttpWebRequest.AllowAutoRedirecttrue,Invoke-WebRequest的MaximumRedirection默认值为5.
要通过WebRequest关闭自动重定向:
$request = [System.Net.WebRequest]::Create("http://google.com")
$request.AllowAutoRedirect = $false
$request.GetResponse()
Run Code Online (Sandbox Code Playgroud)
或Invoke-WebRequest cmdlet:
Invoke-WebRequest -Uri "http://google.com" -MaximumRedirection 0
Run Code Online (Sandbox Code Playgroud)
或者,使用-L标志来跟踪curl中的重定向:
curl -L google.com
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6631 次 |
| 最近记录: |