def GetExternalIp():
  h = httplib2.Http(tempfile.gettempdir(), timeout=10)
  url = 'http://whatismyip.akamai.com'
  resp, content = h.request(url, 'GET')
  if resp.status == 200:
    return content
  for provider in (UltraDNSAuth(), MyResolverInfo()):
    answer = provider.GetClientIp()
    if answer:
      return answer
None-safe wrapper around url_unescape to handle unamteched optional
dataset/ETHPy150Open catap/namebench/libnamebench/providers.py/GetExternalIp--crossover with--dataset/ETHPy150Open RobotWebTools/rosbridge_suite/rosbridge_server/src/tornado/web.py/_unquote_or_none