Forum Discussion

jbrave's avatar
jbrave
Channel Surfer
15 years ago

tinyurl expansion?

Anyone have code for a tinyurl expander they could share, or perhaps explain to me how I might GET a full URL from a tiny one using BrightScript?

Thanks,

- Joel

5 Replies

  • I don't have code readily available, but you might be able to load the tiny url into an roUrlTransfer object, do a Head request, then check the "Location" header.
  • This is a function I wrote a while back to resolve redirected URLs. It relies on the ValidStr() function found in the file GeneralUtils.brs included with the SDK samples.

    function NWM_ResolveRedirect(url)
    result = url
    done = false

    ut = CreateObject("roURLTransfer")
    ut.SetPort(CreateObject("roMessagePort"))
    while not done
    ut.SetURL(result)

    if ut.AsyncHead()
    while true
    msg = wait(10000, ut.GetPort())

    if msg <> invalid
    h = msg.GetResponseHeaders()
    if ValidStr(h.location) <> ""
    result = ValidStr(h.location)
    else
    done = true
    end if
    else
    done = true
    end if
    exit while
    end while
    else
    done = true
    end if
    end while

    return result
    end function
  • jbrave's avatar
    jbrave
    Channel Surfer
    Thanks Chris! I'll try this out. Idea is to grab Twitter postings that contain a URL that meets a certain criteria, and then determine URL of a media file based on that URL.

    - Joel