alias getsource {
var %i $iif(http://* !iswm $1,http://) $+ $1, $&
%comName getSource. $+ $ticks, $&
%fname $qt($mircdir $+ %comName $+ .txt)
if ($0 == 1) {
.comopen %comName msxml2.xmlhttp
noop $com(%comName,Open,1,bstr,GET,bstr,
%i,bool,false
)
noop $com(%comName,Send,1
)
noop $com(%comName,ResponseText,2
)
var %source $com(%comName).result
.comclose %comName
return %source
}
elseif (&* !iswm $2) {
echo $color(info
) -e * $!getsource error: Second parameter must be a binary variable
}
else {
.comopen %comName MSScriptControl.ScriptControl
var %v = $&
Set xmlhttp = CreateObject("msxml2.xmlhttp") $lf $&
xmlhttp.open "GET", $qt(%i) , false $lf $&
xmlhttp.send $lf $&
Set fso = CreateObject("Scripting.FileSystemObject") $lf $&
fso.CreateTextFile( %fname ) $lf $&
Set file = fso.OpenTextFile( %fname , 8, True) $lf $&
file.WriteLine(xmlhttp.responseText) $lf $&
noop $com(%comName,Language,4,bstr,VBScript
) $com(%comName,ExecuteStatement,1,bstr,
%v)
var %size $file(%fname).size
bread %fname 0 %size $2
.comclose %comName
return %size
}
:error
if ($com(%comName)) .comclose %comName
if ($exists(%fname)) .
remove %fname
}