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

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

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

Thanks RokuChris !!!
You saved my week !!

I don’t have the code of the URL expander but, you can try etinyurl.com and its URL expander for expanding URLs for sure.