Проверьте тип прокси - PullRequest
       17

Проверьте тип прокси

0 голосов
/ 09 февраля 2012

Я бы хотел определить, является ли прокси на данном IP-адресе прозрачным или анонимным. Прозрачные прокси подключаются к веб-сайтам с вашим реальным IP-адресом в таких заголовках, как HTTP_X_FORWARDED_FOR или HTTP_VIA. Я хотел бы проверить эти прокси, но все решения, которые я нашел, разработаны для работы на стороне сервера, для проверки входящих соединений на прокси. Мой план состоит в том, чтобы сделать веб-запрос к странице примера через прокси. Как проверить заголовки, отправленные прокси, предпочтительно с использованием класса WebRequest?

РЕДАКТИРОВАТЬ: Так есть ли бесплатный веб-API, который позволит мне сделать это? Я не заинтересован в настройке скрипта на своем маленьком сервере, который будет засыпан запросами.

Ответы [ 3 ]

1 голос
/ 21 сентября 2014

Просто вам не нужны эти заголовки.Я мог бы проверить прозрачность прокси, отправив запрос на любой сайт get-my-IP, если он возвращает мой IP, то он прозрачен.Если нет, то прокси является анонимным.Итак, следующие шаги:

  1. отправить запрос на любой сайт get-my-IP без прокси

  2. извлечь IP из ответа как мой локальный IP-адрес

  3. отправить новый запрос на любой сайт get-my-IP с прокси

  4. извлечь IP из ответа и сравнить его с моим локальным IP(шаг 2)

  5. if(LocalIp==ProxyIp), тогда прокси-сервер прозрачен, иначе он является анонимным

0 голосов
/ 09 февраля 2012

Это технически невозможно, так как клиент видит только то, что прокси возвращает обратно клиенту - прокси может делать все, что хочет, при взаимодействии с целевым сервером и преобразовывать ваш запрос и ответ с сервера в любом случае, когда он хочет ...

Чтобы действительно знать, какой прокси вам НУЖЕН, посмотреть, что сервер получает и отправляет обратно без какого-либо вмешательства со стороны прокси ...

0 голосов
/ 09 февраля 2012

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

Другими словами, если вы планируете проверять заголовки HTTP в запросе от прокси-сервера к серверу, вам необходимо либо проверить их на стороне сервера (как это делают найденные вами решения), либо активно передать их обратно.в ответ клиенту проверить.

В любом случае, вы не можете просто сделать запрос на случайную страницу и проверить заголовки, которые получает сервер, сервер должен быть каким-то образом задействован.

...