telnetでBASIC認証対応http接続

例えば http://example.com/index.htmlに接続すると仮定してtelnetを用いると

> telnet example.com 80

とコマンドを打ち続いて

GET /index.html HTTP/1.1
User-Agent: Telnet [ja] (Windows)
Host: example.com

と入力してエンター2回押すのですがBASIC認証だとこのままでは弾かれてしまいます。確かサーバーのログを見た感じではリクエストの際にユーザ名とパスワードを同時に送っているっぽいのでググって見たらAuthorizationヘッダで実現しているサンプルがありました。

Authorization: Basic aG9nZTpmdWdh

といった感じでAuthorization: +認証種別+BASE64エンコードされた文字列のようです。(今まで素で送っているものと思ってた。。。盗聴されれば本当のユーザ・パス知るまでもないのですが)

BASE64のコードを生成するには私の環境ではopensslを用いる方法を取ってみました。

> echo -n ‘hoge:fuga’ | openssl enc -e -base64
aG9nZTpmdWdh

いい加減、自由にヘッダの設定できるカスタムブラウザ作らないとな…。(携帯3キャリ全機種のプロファイルを登録できるような形で)

HTTP クライアントを作ってみよう(5) – Basic 認証編 –
http://x68000.q-e-d.net/~68user/net/http-auth-1.html

Linuxコマンドの有効活用

ちょっとしたTipsですがこれは便利ですね。意外とコマンドのオプションって実装が違ったり、バージョンアップで増えていても気がつかなかったりするので定期的に見直してみるのも良いかもです。

$_

直前に打ったコマンドの最後の引数。
これはシェル組んでいると結構使ってますね。

watch -d ls -l

活用方法がわからなかったのですが、そういう使い道があったんですね。

cd –

直前にいたディレクトリへジャンプ。この方法の存在は知っていましたが、一回忘れてしまってからずっと思い出せないままでした。

mkdir -p

これは絶対使う。特にインストーラーやシェルバッチで!

あなたが知らないかもしれないLinuxのコマンドいろいろ  IDEAIDEA
http://www.ideaxidea.com/archives/2008/06/linux.html