Question

I wonder if there is something restrictive about the app engine proxy that serves url fetch requests that just changed today. For example, this url http://www.google.com/ig/calculator?q=1eur=?usd was working without a hitch until a few hours ago. This is the error I'm getting now

http://www.google.com/ig/calculator?q=1eur=?usd returned an error: HTTP Error 503: Service Unavailable

Note that in the SDK (who uses my local internet connection) the code below works. Also 'curl http://www.google.com/ig/calculator?q=1eur=?usd' works, so I don't think that it's google restricting that the request doesn't come from an end user browser (ie. no vainilla user agent). It's probably something that has changed a few hours ago in app engine infrastructure.

  url = 'http://www.google.com/ig/calculator?q=1eur=?usd'
    request = urllib2.Request(url = url, data = None)

    try:
        response = urllib2.urlopen(request)
    except urllib2.URLError, e:
        raise Exception("%s returned an error: %s" % (url, e))
Was it helpful?

Solution

As noted in the comments, it's very likely you are seeing being throttled. iGoogle hosts a number of private (but not secret) APIs for use by Google-authored gadgets that run on the page (the weather API is another widely-used example). However, they're not really intended for consumption by non-Google gadgets or applications, and their implementation can (and does) change without notice.

Furthermore, iGoogle is a deprecated product. I would expect that those utility APIs will go away simultaneously with the iGoogle shutdown (Nov 1, 2013). If you don't want your application to break when iGoogle goes away, I'd advise finding a different source for this information.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top