Превышен лимит Google Geocoding API в сотовой сети, но не в Wi-Fi

Я использую SVGeocoder для доступа к службам геокодирования Google на iOS и столкнулся с очень странной проблемой. . Геокодирование работает отлично при тестировании на симуляторе или на телефоне, подключенном к Wi-Fi, но как только телефон переключается на 3G/4G, я начинаю получать ошибки «LIMIT EXCEEDED». Я сделал всего несколько десятков запросов через 3G/4G, и это далеко не предел в 2500 запросов. Что здесь может происходить?

Заранее спасибо!

ОБНОВЛЕНИЕ: я решил проблему, задержав время между каждым запросом геокодирования. Я знал, что слишком быстрая отправка запросов может быть проблемой, но я не осознавал, что возвращается одно и то же сообщение QUERY_LIMIT_EXCEEDED пока не прочитаю это.

Однако это все еще не отвечает на вопрос, почему он работал на Wi-Fi, а не на 3G/4G.


person bmat    schedule 03.10.2012    source источник
comment
вы должны поместить свое обновление в поле для ответа ниже и отметить его как ответ. хорошая находка однако!   -  person owen gerig    schedule 04.10.2012
comment
Я не решаюсь выбрать правильный ответ, пока не выясню, почему задержка сработала. Боюсь, я просто заклеил этот вопрос пластырем.   -  person bmat    schedule 04.10.2012
comment
У меня проблемы с решением точно такой же проблемы. Вы решили это? какое решение?   -  person LKM    schedule 16.03.2015
comment
@LKM Я добавил минимальную задержку между вызовами API. Google отправит ответ об ошибке, если вы отправите свои запросы слишком быстро.   -  person bmat    schedule 16.03.2015
comment
@bmat спасибо за искренний ответ, я этого не пробовал. но я думаю, что ваше решение не является официальным. Это самая правильная реакция? Или нам нужно добавить Google GeoCoding API в консоль разработчика Google?   -  person LKM    schedule 16.03.2015
comment
И извините, могу я спросить, что означает минимальная задержка?   -  person LKM    schedule 16.03.2015


Ответы (1)


Это работало в Wi-Fi, потому что тогда вы используете свой собственный IP-адрес и провайдера. В сотовой сети вы запускаете запросы через своего провайдера, который обычно использует исходящий прокси. Поэтому, когда Google получает запрос, он видит IP-адрес прокси вашего провайдера для всех своих клиентов, а не ваш собственный IP-адрес, в отличие от случая с Wi-Fi.

По крайней мере, к такому выводу я пришел, когда столкнулся с аналогичной проблемой, основываясь на опыте и перехвате пакетов.

  • Это означает, что каждый запрос, который был выполнен из сотовой сети, управляемой вашим провайдером, будет казаться исходящим с одного и того же IP-адреса для Google, что увеличивает количество запросов для данного IP-адреса, по крайней мере, с точки зрения серверов Google. Таким образом, если вы, ваш сосед и миллионы других людей, использующих одного и того же провайдера, отправляют запрос в Google, а этот провайдер использует один и тот же исходящий прокси-сервер, может показаться, что Google видит один и тот же IP-адрес для этих миллионов людей/запросов и рассмотрит лимит квоты должен быть достигнут.

  • Если вы запустите запрос через свою сеть Wi-Fi, вы не будете проходить через исходящий прокси-сервер вашего провайдера сотовой сети и будете иметь свой собственный исходящий IP-адрес и сможете выполнять гораздо больше запросов, прежде чем увидите ошибку «LIMIT EXCEEDED», как только учитываются ваши собственные запросы.

Я считаю, что на самом деле это немного сложнее: ваш провайдер, вероятно, имеет несколько исходящих прокси-серверов и использует балансировку нагрузки для отправки запросов своих клиентов на них, у Google, вероятно, есть база данных, знающая прокси-серверы основных провайдеров CN, и настраивает их ограничение квоты соответственно и т. д., но вы понимаете идею.

person AliSoftware    schedule 03.10.2012
comment
Сначала я так и подумал, но проблема исчезает, когда я добавляю полусекундную задержку между каждым запросом. Мне было интересно, может быть, по какой-то причине задержка по Wi-Fi больше, и это добавляет достаточную задержку между запросами, чтобы Google не блокировал доступ. Кажется маловероятным, что в сотовой сети будет меньше задержек, хотя... - person bmat; 04.10.2012