【问题标题】:Fetch url via proxy on google app engine通过谷歌应用引擎上的代理获取 url
【发布时间】:2012-06-18 16:07:31
【问题描述】:

我在 google-app-engine 上有一个用 python 编写的应用程序。我想通过代理从我的应用程序中获取 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。 在documentation 中说,ip 不能更改。我想,这意味着我无法以某种方式手动更改 HTTP 标头中的 ip,但我仍然可以使用代理。

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

【问题讨论】:

标签: python google-app-engine


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2014-04-04
    • 1970-01-01
    • 2012-03-31
    • 2011-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多