2011-05-10 5 views
0

私はcURLを使用してログインページを通過しようとしていますが、処理中にローカルパスへの呼び出しを行います(つまり、example.com/Private/....aspの代わりに/Private/....aspにファイルを取得したい)もちろん、これらのローカルパスは私のサーバ上に存在しません。これはcURLの制限ですか、これを回避する方法はありますか?cURLローカルパス

答えて

1

あなたは別の場所にバウンスしていますか?

http://curl.haxx.se/docs/manpage.html#-L

編集:

-Lスイッチ試してみてください最初のページに

ボタンをクリックし、[1] [2]にPOSTです。
あなたがしたいことは、curl(-cでクッキーを保存する)を使ってPOSTを行うことだと思います。通常はブラウザを[3]にリダイレクトするだけですが、最初のPOSTを[2]にしてからGET [3]し、-cを再度使用してクッキーを保存しますが、-bも同じです[2]にPOSTするときに作成したCookieファイルです。

GET [3]を実行すると、結果がJavaScriptを使用していくつかの認証値でフォームを自動提出するページになっていることがわかります。これらの値を取り出し、ファイルにドロップしてから、-d(または--data-urlencode)POSTデータを[4]に使用する必要があります。値の解析は、あなたの知識などに応じて簡単に行うことができます。 perl。しかし、あなたはそれらの値を[4]にPOSTすることができ、以前と同じクッキーを使用することができます。

どのように動作するか教えてください。

[1] https://acadinfo.wustl.edu/
[2] https://acadinfo.wustl.edu/redirectToWSPrivate.asp
[3] https://acadinfo.wustl.edu/Private/WebSTAC.asp
[4] https://login.wustl.edu/idp/profile/SAML2/POST/SSO
[4A] https://login.wustl.edu/idp/Authn/UserPassword
[5] https://connect.wustl.edu/login/wulogin.aspx

別のノート: だからあなたが[4]に投稿した後も同じように見えますが、あなたのブラウザは通常[4a]に送られ、それからもう1つのjavascript redirec tを[5]とする。だから、[4]に投稿した後、カールを呼び出して、あなたが手作業で使った同じクッキーファイルをGET [5]する必要があります。

+0

私はフォローロケーションオプションを使用しています。詳細については、このページはhttps://webstac.wustl.eduであり、ユーザー名とパスワードを入力した場所にcURLを使用してログインボタンを通過しようとしています。 – codersarepeople

+0

そのチェーンには多数のjavascriptリダイレクトがあります。あなたがこれを行うことが重要ですか?(https://webstac.wustl.edu/からhttps://connect.wustl.edu/login/wulogin.aspxまで、curlへの一回の呼び出しで取得できますか? – Dave

+0

複数のcURL呼び出しを使用すると、それも機能しますが、それはそのページを過ぎるという問題です。 – codersarepeople