【问题标题】:Google GCM blocked my server for incomming HTTPS requestsGoogle GCM 阻止了我的服务器传入 HTTPS 请求
【发布时间】:2014-03-22 07:05:53
【问题描述】:

我现在有点困惑。我正在使用Google Cloud Messaging 开发一个Android 应用程序。我写了一个简单的后端,用于向https://android.googleapis.com/gcm/send 发送请求,过去几天一切正常,但突然我的设备停止接收消息。

在寻找解决方案几个小时后,我尝试手动发布针对 Google 服务的 HTTPS POST curl 消息并收到以下错误:We're sorry but your computer or network may be sending automated queries. To protect our users, we can't process your request right now.

嗯?是的,我正在发送自动查询。这就是后端的全部目的不是吗?从我家的 ip 上尝试了相同的 CURL POST,就像魅力一样,手机收到了推送消息。因此,Google 以某种方式决定阻止来自我的服务器的请求。为什么?它不是共享服务器,IP 是静态的,GCM 后端是唯一在其上运行的东西,对 google.com/gcm/send 进行调用。在我的开发者控制台中,谷歌总共注册了 37 个调用。所以我不会淹没服务器。

有人遇到过这种情况吗?我应该如何着手解决它? (因为这是一个关于编程“服务”的问题,所以我认为可以在 SO 上提问)。

【问题讨论】:

    标签: android google-cloud-messaging


    【解决方案1】:

    链接 GCM QUOTA LIMIT

    GCM 有使用限制,如果您自动执行 GCM 请求,他们会将其视为 DOS 攻击的威胁

    【讨论】:

    • 那么如何加载测试呢?
    【解决方案2】:

    好吧,这不是一个解决方案,我也不打算将其标记为一个解决方案。但对我来说一个临时的解决办法是编辑我的主机文件,并将调用指向。

    173.194.66.95 android.googleapis.com
    

    当我将 GCM 请求指向此 IP 时,一切都会再次运行。我不知道持续了多久,但我正在监视我的流量以查找错误源。 (如果有的话)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-08
      • 1970-01-01
      • 1970-01-01
      • 2019-01-18
      • 2017-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多