cURL を使用したログインサイト

cURL を使用したログインサイト

cURLコマンドラインからコマンドでログインしようとしています

curl --data "ユーザー名=ユーザー&パスワード=パス&送信=ログイン"http://www.ip.com:8080/LoginApplication/Login.jsp

そしてその後、内部ページにアクセスしようとすると

curl http://www.ip.com:8080/LoginApplication/Success.jsp

しかし、ログインしていないため、エラー ページにリダイレクトされます。

セッションを維持するために最初のコマンドで何が欠けているのでしょうか?私は自分のウェブサイトをローカルにホストしています

答え1

そうですね、セッション データを Cookie に保存する必要があります。 を使用して-c cookie_filenameCookie を作成できます (これをログイン コマンドに追加します)。その後、他のリクエストについては、 を使用して Cookie から読み取ることができます-b cookie_filename

例:

curl -s loginpage -c cookiefile -d "user=myself&pass=secure"
curl -s secretpage -b cookiefile

編集:

多くの場合loginpage、ユーザー名とパスワードを入力するのは、Webブラウザで開いたページではないことに注意してください。フォームがデータをどこに送信しているかを確認する必要があります(ソース<form>コード内のタグとaction=...属性を検索します)。たとえば、https://criticker.comloginpagehttps://www.criticker.com/authenticate.phpそしてそうではないhttps://www.criticker.com/signin.phpブラウザで開くものです。

ブラウザの改ざん防止プラグイン/拡張機能を使用すると、ブラウザloginpageに投稿されている正しいデータやすべてのデータ(フォーム内の隠し入力フィールドなど)を見つけるのに役立つ場合があります。

関連情報