How to make api request to some server in roku

here is the direct way to do it without having to rely on the syntax of the code libraries that are included in your SDK:

Blocking Method (all program execution stops until the URL is retrieved):

url="http://myserver.com/anExampleQuery?getmydata&apikey=AX5GZP5LL45D987D0&format=XML"
xfer=createobject("roURLTransfer")
xfer.seturl(url)
data=xfer.gettostring()

Non Blocking Method where you can do other things while waiting for data:

url="http://myserver.com/anExampleQuery?getmydata&apikey=AX5GZP5LL45D987D0&format=XML"
xfer=createobject("roURLTransfer")
xfer.seturl(url)
port=createobject("roMessagePort")
xfer.setport(port)
timer=createobject("roTimeSpan")
timer.mark()
xfer.asyncgettostring()
while true    
    msg=wait(100,port) '100 millisecond pause
    if type(msg)="roUrlEvent" then

        if msg.getresponsecode()=200 then
            data=msg.getstring()
            headers=msg.getresponseheadersarray()
            exit while
        else
            xfer.asynccancel()
        end if
    else
        print "do something useful while we wait for data"   
    end if
    if timer.totalmilliseconds() > 500 then
        ?"timeout exceeded"
        exit while
    end if
end while
print "***************HEADERS******************"
for each header in headers
print header
end for
print "***************DATA*********************"
print data
print "****************************************"