Tclのhttpパッケージは,httpクライアントの動作を実装したもの. ウェププラウザやwgetやcurlがサーバとのやりとりでするようなものがTclのコマンドで簡単に書ける.
::http:geturlの-validateオプションは, 0でない引数を与えると, ヘッダだけを取得する.結果は返り値に保存されるが, upvarを使ってアクセスする必要がある.ここでは, ヘッダにContent-Lengthが含まれているか調べて, ファイルが存在するかどうかを確認している.
set token [::http::geturl $url -validate 1] # obtain results of geturl upvar #0 $token state set meta $state(meta) # look for Content-Length return [lsearch $meta Content-Length]