此刻我有点困惑。我正在使用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.
EHH?是的,我正在发送自动查询。那是后端的全部目的不是吗?从我的家里尝试了同样的CURL POST,像手机一样工作,手机收到推送信息。所以谷歌已经决定阻止来自我服务器的请求。为什么?它不是共享服务器,IP是静态的,GCM后端是唯一运行它的东西,通过google.com/gcm/send进行调用..在我的开发者控制台中,谷歌已经注册了37个电话。所以我不会充斥服务器。
有人遇到过这样的事吗?我该如何解决呢? (因为这是一个关于编程“服务”的问题,我认为可以在SO上询问它。
答案 0 :(得分:2)
GCM有使用限制,如果您自动执行GCM请求,则认为它们是DOS攻击的威胁
答案 1 :(得分:0)
嗯,这不是解决方案,我也不会把它标记为一个。但对我来说,一个临时修复是编辑我的主机文件,并将调用指向。
173.194.66.95 android.googleapis.com
当我将GCM请求指向此ip时,一切正常。我不知道多久,但我正在监控我的流量以找到错误来源。 (如果有的话)。