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]