POSTメソッドを使用してログインフォームを送信するときにURLをどのように知ることができますか?

POSTメソッドを使用してログインフォームを送信するときにURLをどのように知ることができますか?

Linuxコマンドを使用してHTMLページをダウンロードしたいです。wget

例:

wget "https://stackexchange.com/users/5215687/dipankar-nalui?tab=inbox"

このページをダウンロードするには、URLを介してログイン情報を送信する必要があります。

どうすればいいですか?

このようなURLを知りたい =>

https://stackexchange.com/users/5215687/dipankar-nalui??postlogin&Email=test%40user.com&Password=12345

答え1

FirefoxまたはGoogle Chromeを使用して開発者ツールを開き(ページを右クリックしてスキャンを選択)、[ネットワーク]タブを選択します。

リクエストを記録していることを確認してから、そのページから正常にログインしてください。再生成する要求が見つかるまで、記録されたネットワーク要求(多くの場合があります)をスクロールします。要求を右クリックし、カールにコピーを選択します。

これにより、カールコマンドがシステムクリップボードにコピーされます。これをシェルに直接貼り付けて、Cookie、ヘッダー、クエリパラメータなど、ブラウザで行った正確な要求を再生成できます。

答え2

フォームを含むページで表示ソースを選択する必要があります。

フォームタグを見つけます。下の行のように見えます。作業セクションに興味がある場合は、ここにデータを公開する必要があります。

 <form method=post action=login.php> 

ユーザー名とパスワードの入力を含むフィールドを見つけます。入力した名前を見つけてください。

 <input type=text name=username> </input>
 ...
 <input type=text name=password> </input>

次に、wgetに追加します。

wget https://somesite.com/login.php?username=foo&password=bar 

これは、ページが作成された言語やデータがJSONに送信されるかどうかによって異なります。しかし、ソースコードを見ると、何をすべきかがわかります。

関連情報