绕过Google地理编码API IP速率限制



我们是一家大公司的一个部门,在谷歌地图和地理编码API方面遇到了重大问题。问题是我们公司的70个部门都在同一个IP地址后面。因此,印度的客户服务代理似乎与俄亥俄州克利夫兰的开发商来自同一个IP地址,后者似乎与西欧的部门总裁来自同一IP地址。我们有超过130000名员工,经常因超过IP费率限制而被阻止。

除了个人浏览的网站恰好使用谷歌地图和客户端地理编码请求外,任何试图进行批量地理编码或提供自己的地图显示应用程序的部门都将受到同样的限制!我们实际上在内部使用我们自己的Where To Buy服务,这是公开的(http://www.ridgid.com/Tools/Where-To-Buy/),向客户提供有关本地分销商的信息。

虽然我们没有遇到API限制(至少现在还没有,当我们这样做时,我们总是可以购买企业许可证),但我们遇到了IP速率限制,目前没有解决方法。在缓存地理编码结果和减少浪费调用方面,我们已经遵循了最佳实践。值得庆幸的是,这对我们的客户来说不是问题,因为他们与我们公司的用户不在同一个IP上。

问题是,我们是否有任何方法可以从谷歌获得我们特定IP地址的例外,以改善我们设置中基于IP的限制?这确实是谷歌的一个问题。谢谢你的帮助!

拥有数万名员工的大型公司的部门应持有企业执照。

如果您使用此处描述的客户端地理编码,我不认为与IP相关的限制:

https://developers.google.com/maps/articles/geocodestrat

服务器端通过地理编码Web服务进行地理编码有配额每个IP每天2500个请求,因此一天内的所有请求都会计数与配额相比。此外,Web服务是有费率限制的,因此请求来得太快会导致阻塞。

客户端通过浏览器进行的地理编码是每个地图会话的速率限制,因此地理编码>分布在您的所有用户中,并根据您的用户群进行扩展。

A";映射会话";意味着每次加载Javascript Map API时。然而,这可能也有限制,它是否与IP/域/子域/URL相关,仍需进一步澄清。

而";速率受限";客户端并不意味着每天都有配额之类的,我测试过这种方法,在一天内,它可以对2500多个地址进行地理编码。你必须思考和测试";速率限制";有效,我的观察是,它可以让你在短时间内突发到大约10个地址,然后将你的下一个150个请求的速率限制在每秒1个地理编码左右,来自同一个"的进一步请求;会话";将花费成倍增长的时间。

一种可能性是使用一批反向地理编码,而不是单个请求。谷歌在一个方向请求中最多允许24个航路点。您可以等到一批中累积了24个反向地理代码,而不是发送单个反向地理代码。或者你可以像这样使用雅虎地图:显示静态谷歌地图的问题。

我想知道请求中是否有很多重叠,就像每个人都在查找相同的50个位置一样?您编写了一个缓存代理,先向内部数据库发出请求,然后在找不到结果时从谷歌发出请求。这可以在软件级别完成,将GeoCode调用更改为InternalGeoCode,也可以在网络级别捕获所有到Google GeoCode服务器的请求并重定向它们?我并不是百分之百地知道实现这一点有多难,或者如果它能有所帮助,也许请求都是唯一的。

如果您只进行正向地理编码,我建议您尝试GeocodeFarm。前几天我刚收到他们的一封电子邮件,说他们也会很快开始发布"反向"地理编码,他们仍在解决问题。也许这会对你有所帮助,因为他们没有请求率限制,唯一的限制是你每天2500的限制,就像谷歌一样。。。IDK。只是一个建议。。

http://www.geocodefarm.com==链接

标准许可证中的限制为50到100 QPS(每秒查询次数)限制,具体取决于服务(即Elevation服务有50 QPS限制,Geocoding有100 QPS限制)。尽管你可能有更高的配额,但你每秒不能执行超过50个请求,否则服务器会阻止你的IP大约2个小时(根据我的经验)。解决方案是缓存请求并按计划执行,而不是在发生请求时执行。

最新更新