我正在POST
使用有效的用户名和密码向某个链接发送请求。
我使用这个命令:curl -X POST -F '[email protected]' -F 'password=123' http://my.site.com/login
但它得到了Moved Temporarily. Redirecting to /
如何使用 cURL 进行重定向?
HTTP/1.1 302 Moved Temporarily
Server: nginx
Date: Sun, 09 Oct 2016 07:43:26 GMT
Content-Type: text/html
Content-Length: 58
Connection: close
Vary: Accept
Location: /
Set-Cookie: connect.sid=s%3A%2FU%2FG5YeSNkjkaA%2Fet4evdmgj.QIGEGtrJQxNcNx1bdF6QzshqsEXn3hys1V2mkyuw3nY; Path=/; Expires=Sun, 09 Oct 2016 08:13:26 GMT; HttpOnly
<p>Moved Temporarily. Redirecting to <a href="/">/</a></p>
答案1
curl
的-L
( --location
) 选项遵循重定向的 URL:
curl -LX POST ...
但需要注意的是,这将在登录后遵循重定向。如果登录页面重定向到另一个登录页面,您需要(重新)提交相同的 POST 请求,那么您需要使用该--location-trusted
选项将所有重定向的 URL 设为可信,否则curl
将仅将 POST 身份验证信息发送到初始 URL 。因此,如果您信任重定向的 URL,请执行以下操作:
curl -L --location-trusted -X POST ...