- ベストアンサー
telnetの自動シェルバッチを作成したい
UNIXは不得意のため、とても困っています。 是非、アドバイスをお願いします。m(_S_;)m えっと。windowsでいえば、ブラウザにURLを設定するようなことを UNIX上で、telnetを使って自動バッチを作成したいと思っています。 HTTP要求のURL: http:xx.xx.xx.xx:7001/TEST/test.srv?MODE=0 自分で書いてみたシェル ------------------------------------------------- sleep 2; echo ${USER_ID} sleep 1 echo ${PASSWORD} sleep 1 echo "GET /TEST/test.srv?MODE=0" sleep 1 echo "exit" | telnet ${SERVER_IP} ${WEB_POOT} ------------------------------------------------- 下記では、「ファイルもディレクトリもありません。」の エラーが出てしますます。。 でもブラウザより上記のURLを入れて実行するぶんには 正常にhtmlを返してくれます。(バッチではhtmlを返さなくても可) お手数をおかけしますが、どなたかもしアドバイス等が 御座いましたら、どうか宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
http にアクセスするのに USER_ID や PASSWORD は要らないです。 もし Basic 認証なら、こんな感じで与える必要があります。 #!/bin/sh ( sleep 1; echo "GET /TEST/test.srv?MODE=0 HTTP/1.0" sleep 1; echo "Authorization: Basic ??????????" sleep 1; echo "" ) | telnet xxx.xxx.xxx.xxx 80 ??????????は USER_ID:PASSWORD を BASE64 したものです。 ただ、telnet でやるより wget とか w3m あたりをインストールして使ったほうが簡単だと思いますが
その他の回答 (2)
- namachu
- ベストアンサー率44% (8/18)
"Connection closed by foreign host." は、telnet が終了したよってメッセージですから問題ありませんよ。
お礼
返事が遅くなって申し訳ありませんでした。 telnetの終了メッセージなのですね。 ありがとうございました。
- honiyon
- ベストアンサー率37% (331/872)
こんにちは、honiyonです。 まさにそれを行うためのスクリプトが存在します。 ・・・といっても、もう何年も前の記憶なので名前を失念してしまいましたが(^^; 当時 www.linux.or.jpから追跡して発見しました。 参考になれば幸いです(..
お礼
早速の回答をありがとうございました。 スクリプトが存在するのですね。 是非、探してみます。 ただ、あまりフリーソフトを使えないので 出来たら、自分で作成したシェルが実行できると嬉しいです。 ありがとうございました。
お礼
ありがとうございました。 教えて頂いた方法でも試してみたのですが、今のところダメでした。。 とっほっほ。。。 う~ん。。手動でtelnetとGETを走らせれば上手くはいくのですが。。 バッチだと。「Connection closed by foreign host.」。。 ただ、とても不思議なのは、手動でも何度かは、バッチと同じエラーが出ます。。。 もう少し調べてみようと思います。 本当にありがとうございました。