2

3 つのパラメーターを使用してページにログインする必要があります。その後、ログインしたばかりのサイト内の別のページに 2 つのパラメーターを POST する必要があります。

これまでのところ、私はこれでクッキーを持っています:

curl -c cookie.txt -d "username=username&pwd=pwd&domain=mydomain" http://myurl

...クッキーの中にJSESSION IDがあります。私は次のようにクッキーを使用します:

curl -b cookie.txt -d "par=value" http://myurlnumbertwo

問題:

  • ログイン URL への POST の後でも、ログイン ページの HTML コードがコンソールに表示されますが、これはログインが成功しなかったということですか? これを引き起こしたエラー、おそらくログを見つけるにはどうすればよいですか?
  • ログインに成功した後、ログイン セッションを維持し、パラメータを他のページに POST するにはどうすればよいですか?

編集:

stranのヒントの後、コードに従って、ようやくこれが機能するようになりました。

  • POST_DATA には、「parameter1=value1¶meter2=value2」のように、ポストされた正確なエンコード文字列が含まれています。
  • ACTION_URL には、https://stackoverflow.com/users/login のように、フォームが投稿される完全な URL が含まれています。

最初に私は

wget --save-cookie cookie.txt --post-data 'POST_DATA' ACTION_URL

ログインして Cookie を保存するには、次のように入力します。

wget --load-cookie cookie.txt --post-data 'POST_DATA' ACTION_URL

必要な POST を作成するために、ヒントをありがとう ^^

4

1 に答える 1

2

wget を試してみます。Cookie ファイルを使用できるようにする--save-cookiesandオプションがあります。--load-cookiesセッション Cookie を処理するための機能もあり--keep-session-cookiesます。詳細については、wget の man ページを参照してください :)

個人的には、wget を介した投稿の方がはるかにうまくいきました。

GL!

于 2009-08-06T02:02:20.003 に答える