1

我有一个用 python 编写的关于 google-app-engine 的应用程序。我想通过代理从我的应用程序中获取 url。我找到了两种从 appengine 获取远程 url 的方法:

  1. 使用urlfetch
  2. 使用python内置的urllib2

查看 urlfetch 的文档,我没有找到任何设置代理的方法。所以我开始玩 urllib2。我试过这个:

class MainHandler(webapp.RequestHandler):
    def get(self):
        proxy_handler = urllib2.ProxyHandler({'http': "210.246.88.46:8080",})
        opener = urllib2.build_opener(proxy_handler)
        resp = opener.open("http://whatsmyuseragent.com/", timeout=20)
        self.response.out.write(resp.read())

但看起来 appengine 忽略了代理并使用自己的 ip 获取 url。在结果页面中显示应用程序的 ip,而不是代理的 ip。在文档中说,无法更改 ip。我想,这意味着我无法以某种方式手动更改 HTTP 标头中的 ip,但我仍然可以使用代理。

但是,我想确切地知道,是否可以通过 appengine 上的代理获取 url 并停止打破我的头:)。

4

1 回答 1

1

我认为这是此处提到的 App-Engine 中的错误

https://code.google.com/p/googleappengine/issues/detail?id=544

票已关闭,但据我所知,该错误仍然存​​在(在 SDK 1.9.8 上)

人们已经为我还没有尝试过的 Java 和 Python 引擎编写了一些代码/补丁

于 2014-08-12T23:28:39.957 回答