我现在有点困惑。我正在使用 Google Cloud Messaging
开发 Android 应用程序。我编写了一个简单的后端,用于将请求发送到 https://android.googleapis.com/gcm/send过去几天一切正常,但突然我的设备停止接收消息。
在寻找解决方案几个小时后,我尝试针对 Google 服务手动发布 HTTPS POST curl 消息,但收到以下错误:很抱歉,您的计算机或网络可能正在发送自动查询。为了保护我们的用户,我们现在无法处理您的请求。
呃?是的,我正在发送自动查询。这就是后端的全部目的,不是吗?从我家的 ip 上尝试了同样的 CURL POST,效果非常好,手机收到了推送消息。因此,谷歌以某种方式决定阻止来 self 的服务器的请求。为什么?它不是共享服务器,IP 是静态的,GCM 后端是其上运行的唯一东西,对 google.com/gcm/send 进行调用。在我的开发者控制台中,google 总共注册了 37 个调用。所以我不会淹没服务器。
有人遇到过这样的事情吗?我应该如何解决它? (因为这是一个关于编程“服务”的问题,我认为可以在 SO 上提问)。
最佳答案
GCM 有使用限制,如果您自动执行 GCM 请求,他们会将其视为 DOS 攻击的威胁
关于android - Google GCM 阻止我的服务器接收传入的 HTTPS 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21923048/