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に送信されるかどうかによって異なります。しかし、ソースコードを見ると、何をすべきかがわかります。