All pastes #1290175 Raw Edit

kingskrown

public text v1 · immutable
#1290175 ·published 2008-12-20 14:43 UTC
rendered paste body
alias download.image {
  var %i = $+(download.image., $ticks)
  sockopen %i $gettok($remove($1, http://), 1, 47) 80
  sockmark %i $1
}

on *:sockopen:download.image.*: {
  if (!$sockerr) {
    sockwrite -nt $sockname GET $sock($sockname).mark HTTP/1.1
    sockwrite -nt $sockname Accept: image/png, image/bmp, image/jpeg
    sockwrite -nt $sockname Host: $gettok($remove($1, http://), 1, 47)
    sockwrite -nt $sockname $crlf
  }
  else {
    echo -a Unable to download image from $sock($sockname).mark
    sockclose $sockname
  }
}

on *:sockread:download.image.*: {
  if (!$sockerr) {
    var %sockread
    sockread %sockread
    if ($regex(%sockread, /^Content-Length: (\d+)/)) {
      set %image.size = $regml(1)
    }
    write image.txt %sockread
    echo -a $round($calc(($file(image.txt).size / %image.size) * 100), 2) perecent completed!
  }
  else {
    echo -a Unable to download image from $sock($sockname).mark
    sockclose $sockname
  }
}

on *:sockclose:download.image.*: {
  echo -a Closing $sockname
  unset %image.size
}

;if ($bfind(&sockread, 0, Content-Length:) != 0) {
;echo -a $gettok($bvar(&sockread, $bfind(&sockread, 0, Content-Length:), $calc($bfind(&sockread, $bfind(&sockread, 0, Content-Length:), $crlf) - $bfind(&sockread, 0, Content-Length:))).text, 2, 32)
;}