использование другого IP-адреса для вызовов веб-служб

#php #windows #web-services #iis-7 #iis-8

#php #Windows #веб-сервисы #iis-7 #iis-8

Вопрос:

Сценарий — несколько компьютеров на сайте (БД, приложение, отчет и т.д.) все системы функционируют прямо сейчас, используя назначенный IP-адрес от клиента.

Новый поворот заключается в следующем: система, которая генерирует вызовы веб-служб внешним поставщикам данных (государственным веб-сайтам), должна инициировать трафик с другого IP-адреса. Новый IP-адрес — единственный, которому разрешено проходить через брандмауэр, внутренний трафик данных останется внутри анклава систем, взаимодействующих друг с другом. Одна и та же машина (сервер приложений) представляет собой интерфейс с пользователем, использующим веб-сервер, имеющий два (или более) Присвоенные ему IP-адреса.

Вот вопрос — в коде есть ли способ заставить инициатора вызова веб-службы использовать другой IP-адрес для связи с внешним миром?

Ответ №1:

Это может быть сложно реализовать с помощью httpclient, но HttpWebRequest может помочь вам, если вы используете asp.net .

  HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://stackoverflow.com");

        System.Net.WebProxy proxy = new WebProxy("the IP", 80);
        request.Proxy = proxy;
        using (WebResponse response = request.GetResponse())
        {
            using (TextReader reader = new StreamReader(response.GetResponseStream()))
            {
                string line;
                while ((line = reader.ReadLine()) != null)
                    Console.WriteLine(line);
            }
        }
  

Комментарии:

1. Спасибо за ответ — есть ли у вас какая-либо дополнительная информация о том, какие параметры необходимо изменить, чтобы облегчить эту операцию

2. Теперь я добавляю пример кода в ответ, вы можете обратиться к нему.