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


12

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

curl --data "username = user&password = pass&submit = Login" http://www.ip.com:8080/LoginApplication/Login.jsp

その後、次を使用して内部ページにアクセスしようとします

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

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

セッションを維持できるように、最初のコマンドで不足しているものは何ですか?ウェブサイトをローカルでホストしています


回答:


15

さて、セッションデータをCookieに保存する必要があります。を使用-c cookie_filenameしてCookieを作成できます(これをログインコマンドに追加します)。そして、他のリクエストについては、を使用して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.comloginpageあるhttps://www.criticker.com/authenticate.phpないhttps://www.criticker.com/signin.php、これはブラウザで開くものです。

ブラウザの改ざんプラグイン/拡張機能は、loginpage(フォームの非表示の入力フィールドのように)投稿されている正しいすべてのデータを見つけるのに役立ちます。


-s -c -dの指定されたシーケンスはCookieファイルを作成しません
SAR 14年

とても助かりました。ソースを再度確認し、リクエストがコントローラーに送信されていることを確認してから、コマンドを変更しました。
SAR 14年

これはHTTPが、私はHTTPSで余分行うために必要なものがあるため正常に動作します
SAR

@SAR:証明書に問題があります。たぶんあなたは使いたいだけです-k。詳細curl --helpについては、インターネットで証明書を処理する方法を参照してください。;-)
ペケ14年

1
ありがとうございます...私のcurlの問題は、「ログインページは、ユーザーとパスワードを紹介するWebブラウザーで開くページではないことに注意してください。」...ありがとうございます!
サンバブパンディ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.