cURL POSTを使用したHTMLの解析

cURL POSTを使用したHTMLの解析

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を信頼できるようにする必要があります。それ以外の場合は、curlPOST認証情報のみが初期URLに送信されます。したがって、リダイレクトされたURLを信頼する場合は、次のようにします。

curl -L --location-trusted -X POST ...

関連情報