【问题标题】:Google App Engine Cron Requests Using POST使用 POST 的 Google App Engine Cron 请求
【发布时间】:2013-08-15 13:52:24
【问题描述】:

是否可以使用method=post 通过 Google App Engine 向 URL 发出 cron 请求。我在文档中找不到任何允许使用除 get 以外的其他方法的内容。

https://developers.google.com/appengine/docs/python/config/cron#Python_app_yaml_Cron_support_in_the_development_server

【问题讨论】:

  • 那会有什么价值。如果您想要更多/复杂的信息将其存储在数据存储中并在运行 cron 时获取它。
  • @TimHoffman 因为 GET 请求可以被浏览器以及用户和服务器之间的基础设施缓存。 GET 请求也可能被浏览器无意中调用(即,前瞻预缓存)。 GET 不适合这种类型的事情。 Google 应该使用 POST 或至少使其成为一种选择。

标签: google-app-engine cron


【解决方案1】:

简单的答案是否定的。从docs 中明确指出,cron 作业使用 HTTP GET。最好的办法是将您的方法更改为 GET 并限制对 app.yaml 中 url 的直接访问。 像这样:

handlers:
 - url: /report/weekly
   script: reports.app
   login: admin

【讨论】:

    【解决方案2】:

    这是不可能的。这些请求将包含一个您可以检查的标头“X-AppEngine-Cron”,如果您想防止从浏览器意外运行,这可能会有所帮助。

    【讨论】:

      猜你喜欢
      • 2014-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-09
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 2012-06-27
      相关资源
      最近更新 更多