文档说(http://code.google.com/appengine/docs/java/urlfetch/overview.html#Request_Headers):
这些标头由 App Engine 酌情设置为准确的值
X-Forwarded-For 的值是否包含 gae 应用程序的某些身份?
文档说(http://code.google.com/appengine/docs/java/urlfetch/overview.html#Request_Headers):
这些标头由 App Engine 酌情设置为准确的值
X-Forwarded-For 的值是否包含 gae 应用程序的某些身份?
目前,URLFetch 发出的请求中似乎未设置 X-Forwarded-For。
您可以通过访问http://shell.appspot.com/并为响应 HTTP 请求的站点(例如http://www.showhttprequest.com/)执行 URLFetch来验证这一点。App Engine 将用户代理字符串设置为“AppEngine-Google; (+ http://code.google.com/appengine )”,但根本没有设置 X-Forwarded-For。
如果您访问 shell.appspot.com 并运行以下代码:
from google.appengine.api import urlfetch
url = 'http://www.showhttprequest.com/'
result = urlfetch.fetch(url)
print result.content
您将看到(截至 2009 年底的某个时间)AppEngine 现在将 appid 放入用户代理标头中。所以你的用户代理最终看起来像:
AppEngine-Google; (+http://code.google.com/appengine; appid: shell)