Посмотреть реальный IP через HTTP-прокси

Посмотреть реальный IP через HTTP-прокси

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

решение1

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

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

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

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

решение2

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

Связанный контент