Как отправить базовый HTTP GET через прокси из GAE Java? - PullRequest
1 голос
/ 21 января 2011

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

Я испробовал все возможные решения, и ни одно из них не работает ....

-java.net.Proxy не поддерживается в среде выполнения ядра приложения ... -установка свойств следующим образом:

Properties props = System.getProperties ();props.put ("http.proxyHost", "proxyhostname");props.put ("http.proxyPort", "proxyhostport");

ничего не делал.

Какой самый простой способ отправить http GET через прокси-сервер в обработчике приложений?

1 Ответ

1 голос
/ 21 января 2011

Кажется, что это невозможно: API Google App Engine не поддерживает его.Использование сторонней библиотеки (например, Apache HTTPCore / HTTPClient) или ее написание самостоятельно невозможно, потому что основные сетевые классы, такие как java.net.Socket, не являются белым списком .

Не знаю, почему выне удается получить доступ к API Карт Google, но если это действительно не работает, ваш единственный выбор - написать приложение на прокси-сервере, которое отвечает на обычные запросы HTTP, а затем перенаправить их в Карты Google.

Обновление: Немного погуглил, похоже на общеизвестную проблему : API-интерфейс Map имеет ограничение в 2500 запросов в день и IP, и это ограничение быстро достигается в GAE, где выподелиться своим IP со многими другими приложениями.Единственное, что вы можете сделать, это перенести запросы на клиент, использовать прокси-сервер с собственным IP-адресом или использовать другой сервис.

...