#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. Теперь я добавляю пример кода в ответ, вы можете обратиться к нему.