web-dev-qa-db-ja.com

コマンドラインを使用してhttpログインでワイヤレスネットワークに接続する

私はwifiネットワークに接続しようとしています。そこでは、すべてのリクエストがハイジャックされ、実際の外の世界に接続する前に利用規約に同意する必要があるページにリダイレクトされます。これはかなり一般的な方法であり、通常はそれほど問題にはなりません。

ただし、ウィンドウシステムのないUbuntu9.10サーバーを実行しているコンピューターがあります。コマンドラインを使用して利用規約に同意するにはどうすればよいですか? apt-getなどを介してパッケージをダウンロードするためのインターネットアクセスがコンピューターにありません。もちろん、回避策はいくつでも考えられますが、wgetやcurlなどを使用する簡単な方法があると思います。

基本的に、HTTPを送信するためのコマンドラインソリューションが必要ですPOSTリクエストは基本的にボタンをクリックします。将来の参照のために、POST別のホテルや空港でそのような状況に陥った場合は、たとえばユーザー名とパスワードを使用してリクエストしてください。

12
Shane

事前にLynxをインストールしてから、コマンドラインからLynxを使用してください。 Lynxはテキストベースのブラウザです。

または、wgetまたはcurlを使用してwww.google.comを取得し、返されたHTTPファイルを分析することもできます。

7
ta.speot.is

ログインフォームのソースをonceで調べて、ユーザーフィールドとパスワードフィールドの名前を見つける必要があります。認証によりすべてのページがリダイレクトされるため、任意のURLを使用してそのソースを取得します。

curl http://www.google.com > login.html

たとえば、次のようになります。

<form method="POST" action="http://my-public-provider.com/agree.php">
    <input type="checkbox" name="agree" value="yes">I agree
    <input type="submit" name="Push" value="Send">
</form>

もう1つの方法は、(他のコンピューターで) Fiddler2 などのプロキシを使用して、ブラウザーによって「ネットワーク経由」で送信されるものを確認することです。

次に、curlコマンドを作成してフォーム情報を投稿できます。

curl -d "agree=yes&Push=Send" http://my-public-provider.com/agree.php

curlがない場合は、プラットフォームで使用できる言語(Perl、Lua、Java ...)を使用して簡単なHTTPクライアントを作成できます。

7
dolmen