alias url2 {
var %link = $1-, %sock = $+(url,$rand(1,999))
/sockopen %sock $url_parse(%link).host $url_parse(%link).port
/sockmark %sock %link
}
alias url_parse {
var %link = $1-, %url = $remove($1-,http://)
var %host = $gettok($+(%url,/), 1, $asc(/))
var %path = $iif($mid(%url, $calc($len(%host)+1)), $ifmatch, /)
var %port = 80
if (*:* iswm %host) {
var %port = $gettok(%host, 2, $asc(:))
var %host = $gettok(%host, 1, $asc(:))
}
if ($isid) {
if ($prop == host) return %host
else if ($prop == path) return %path
else if ($prop == port) return %port
}
else /echo -s Sytax Error: $+($,url_parse) must be used as an identifier
}
on *:SOCKOPEN:url*: {
if ($sockerr) /echo -s Error opening connection to
else {
var %link = $sock($sockname).mark
/sockwrite -n $sockname GET $url_parse(%link).path HTTP/1.0
/sockwrite -n $sockname Host: $url_parse(%link).host
/sockwrite -n $sockname $crlf
}
}
on *:SOCKREAD:url*: {
; if you want what actually is returned, do it here
;var %win = $+(@,$sockname)
;if (!$window(%win)) /window %win
;/sockread -f %data
;/echo %win -> %data
}