All pastes #675679 Raw Edit

wget test

public text v1 · immutable
#675679 ·published 2007-08-30 11:46 UTC
rendered paste body
alias wget {
  sockclose WGETS
  mkdir download\wget
  mkdir temp
  %a = http://
  %b = https://
  %c = www.
  %d = ftp://
  unset %wget*
  set %wgeta $1
  if ($left(%wgeta,7) = %a) { set %wgeta $remove(%wgeta,%a)  }
  if ($left(%wgeta,8) = %b) { set %wgeta $remove(%wgeta,%b)  }
  if ($left(%wgeta,4) = %c) { set %wgeta $remove(%wgeta,%c)  }
  if ($left(%wgeta,6) = %d) { set %wgeta $remove(%wgeta,%d)  }
  set %wgetb $left(%wgeta,$calc($pos(%wgeta,/,1)-1))
  set %wgetca $remove(%wgeta,$remove(%wgeta,$left(%wgeta,$pos(%wgeta,/,$count(%wgeta,/)))))
  set %wgetc $remove(%wgetca,$left(%wgeta,$calc($pos(%wgeta,/,1)-1)))
  set %wgetd $remove(%wgeta,$left(%wgeta,$pos(%wgeta,/,$count(%wgeta,/))))
  .timerwget 1 3 sockopen WGETS %wgetb 80
}


on *:sockopen:WGETS:{
  if ($sockerr) { echo -a There was an error, please check URL or try again | return }
  sockwrite -n $sockname GET %wgetc $+ %wgetd HTTP/1.1 
  sockwrite -n $sockname Host: %wgetb $+ $crlf $+ $crlf
  echo -a Attempting to Download %wgetd from %wgetb $+ , this may take a few minutes, you will be notified when downloaded.
}
on *:sockread:WGETS:{
  if ($sockerr) return
  if (!$sock($sockname).mark) {
    var %tmp
    sockread %tmp
    if (* !iswm %tmp) sockmark $sockname 1
  }
  else {
    sockread &Data
    while ($sockbr) {
      .timerwget off
      .timerwget 1 1 wget2 
      .bwrite temp/ $+ %wgetd -1 $ifmatch &Data
      sockread &Data
    }
  }
}
alias wget2 {
  if ($exists(Download\wget\ $+ %wgetd) == $true) { .remove Download\wget\ $+ %wgetd }
  .rename temp\ $+ %wgetd download\wget\ $+ %wgetd
  echo -a %wgetd Has been successfully downloaded into $mircdirDownload\wget\
}