Google App Engine URL Fetch 为 X-Forwarded-For 标头设置的值是多少?
Posted
技术标签:
【中文标题】Google App Engine URL Fetch 为 X-Forwarded-For 标头设置的值是多少?【英文标题】:What is the value set for X-Forwarded-For header by Google App Engine URL Fetch? 【发布时间】:2009-05-19 12:28:23 【问题描述】:文档说 (http://code.google.com/appengine/docs/java/urlfetch/overview.html#Request_Headers):
App Engine 会根据需要将这些标头设置为准确的值
X-Forwarded-For 的值是否包含 gae 应用程序的某些身份?
【问题讨论】:
【参考方案1】:目前,URLFetch 发出的请求中似乎未设置 X-Forwarded-For。
您可以通过访问 http://shell.appspot.com/ 并为响应 HTTP 请求的站点执行 URLFetch 来亲自验证这一点 - 例如,http://www.showhttprequest.com/。 App Engine 将用户代理字符串设置为“AppEngine-Google; (+http://code.google.com/appengine)”,但根本没有设置 X-Forwarded-For。
【讨论】:
这个答案被标记为正确但最新状态可以在ade的answer看到 网站www.showhttprequest.com
似乎不再存在,但这似乎仍然是应用引擎在 2/2014 时的行为。【参考方案2】:
如果你访问 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)
【讨论】:
以上是关于Google App Engine URL Fetch 为 X-Forwarded-For 标头设置的值是多少?的主要内容,如果未能解决你的问题,请参考以下文章
Google App Engine PHP灵活环境中的URL处理程序
获取文件的公共 URL - Google Cloud Storage - App Engine (Python)
Google App Engine Node.js 应用程序 - “解析 app.yaml 时出错:未知 url 处理程序类型”
上传属性 Google App Engine - app.yaml
NotAllowedError 在 Google App Engine 中使用 users.create_login_url