Как программно получить IP-адрес веб-браузера и номер порта в C #? - PullRequest
0 голосов
/ 04 декабря 2011

Я создаю Http-прокси , который расположен между веб-браузером и веб-сервером, и в соответствии с моими требованиями прокси-сервер должен получить IP-адрес и номер порта веб-браузера , который сделал запрос.Вот класс, представляющий соединение между прокси и веб-браузером.

  public class Client
  {
    public Client(IPAddress browserIP, int browserPort)
    {
       /*Use browserIP and browserPort to create a socket object*/
    }
  }

Обратите внимание, что я не использую ни HttListener , ни HttpRequest объекты!Я создал пользовательский объект Request , который позволяет мне устанавливать заголовки http и другие вещи, которые не выполняет объект HttpRequest, но мой объект Request не имеет метода для получения IP-адреса браузера иПорт.

Ответы [ 2 ]

1 голос
/ 04 декабря 2011
  string  ipaddress = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
            if (ipaddress == "" || ipaddress == null)
                ipaddress = Request.ServerVariables["REMOTE_ADDR"];

Попробуйте выше.он выбирает ip запрашивающего клиента.

1 голос
/ 04 декабря 2011

Проверьте это класс

Вы можете использовать объект Request для получения IP-адреса запрашивающего конца.

string remoteAddr = Request.UserHostAddress;

РЕДАКТИРОВАТЬ: Это даст вам имя хоста. достаточно хорош, чтобы начать!

...