Я устанавливаю HTTP-прокси в приложении Java. В этом приложении я тестирую, работает ли прокси, запрашивая http://api.ipify.org/. Однако я получаю свой реальный IP-адрес вместо прокси-сервера. Я проверил с помощью Wireshark, мой компьютер отправляет http-запрос прокси, который затем возвращает мне мой реальный IP-адрес. Мне было интересно, как это возможно. Я также хотел бы знать, есть ли способ проверить это поведение, не запрашивая API. Спасибо!

2 ответа2

0

Я думаю, что только что узнал, что здесь произошло. Прокси, кажется, использует HTTP-флаг X-Forwarded-For. Смотрите http://en.wikipedia.org/wiki/X-Forwarded-For. Поэтому я думаю, что единственный способ убедиться в этом - запросить API и посмотреть, что возвращается.

0

Как вы узнали, отправляется заголовок: X-Forwarded-For, который содержит ваш оригинальный IP.

Возможно, удастся либо удалить этот заголовок запроса, либо настроить его, если вы пытаетесь удалить его, прокси-сервер может его взломать, что бы ни случилось, и это не из ваших рук. Вот интересная статья, которая может помочь, если вы ее еще не видели. HTTP-запросы от Java, добавить заголовок и информацию о прокси. Другим вариантом может быть поиск другого прокси-провайдера.

Чтобы проверить, работает ли прокси-сервер, можно использовать альтернативный метод: InetAddress.isReachable(), вы можете проверить ответ от любого веб-сайта, такого как Google.com, или пользовательского сервера в Интернете. Если вы не пытаетесь проверить IP прокси, вы все равно можете настроить свой собственный сервер проверки, даже если это какой-то бесплатный хост. InetAddress.isReachable может иметь некоторые недостатки, как упомянуто здесь: во многих случаях метод isReachable не был достоин использовать для меня.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .