2

我有一个用 python 编写的网站,可以在 Google App Engine 上运行。我需要通过代理获取 url。

阅读文档说我应该能够使用 urllib2 来做到这一点,但似乎应该工作的东西不是。

import urllib2, urllib

proxy = urllib2.ProxyHandler({'http': 'http://username:password@ipaddress:port'})
auth = urllib2.HTTPBasicAuthHandler()
opener = urllib2.build_opener(proxy, auth, urllib2.HTTPHandler)
urllib2.install_opener(opener)

conn = urllib2.urlopen('http://icanhazip.com/')
print conn.read() 

在我的本地开发中运行上述代码会返回我的 IP。在站点上执行相同的代码会返回 Google 使用的 8.35.201.X 地址之一。这几乎就像 ProxyHandler 被忽略了。

任何帮助将不胜感激。

4

1 回答 1

1

您不能使用代理在 GAE 上发出请求。

至少这对于 Java 来说是正确的(就在今天为此苦苦挣扎。谷歌有意限制了这一点)。我很确定 Python 也是如此。

于 2013-10-31T19:12:07.607 回答