isgd.tcl 571 B

12345678910111213141516171819202122232425262728
  1. #
  2. # June 26 2010
  3. # by horgh
  4. #
  5. package provide isgd 0.1
  6. package require http
  7. package require tls
  8. ::http::register https 443 [list ::tls::socket -ssl2 0 -ssl3 0 -tls1 1]
  9. namespace eval ::isgd {
  10. variable url https://is.gd/create.php
  11. }
  12. proc ::isgd::shorten {url} {
  13. set query [::http::formatQuery format simple url $url]
  14. set token [::http::geturl ${::isgd::url}?${query} -timeout 20000 -method GET]
  15. set data [::http::data $token]
  16. set ncode [::http::ncode $token]
  17. ::http::cleanup $token
  18. if {$ncode != 200} {
  19. error "HTTP error ($ncode): $data"
  20. }
  21. return $data
  22. }