Как изменить IP-адрес запроса в HttpWebRequest?
Я разрабатываю веб-сайт, который будет подключаться к веб-сервису шлюза обработки кредитных карт. В целях безопасности этот веб-сервис принимает запросы только с IP-адресов, которые были им ранее сообщены.
Так как я развиваюсь локально, мой IP меняется почти каждый день. Есть ли способ для меня изменить IP-адрес HttpWebRequest, чтобы я мог проверить вызовы Webservice локально?
Доступ к этому веб-сервису осуществляется через адрес https, а методы должны отправляться через POST.
3 ответа
Нет, но если вам удалось изменить исходный IP-адрес ваших запросов, то то, что вы будете делать, называется IP-спуфингом. Проблема заключается в том, что исходный IP-адрес используется для маршрутизации ответов обратно на ваш компьютер, поэтому, поскольку вам каким-то образом удалось изменить IP-адрес в пакетах запросов, ответ никогда не вернется к вам, поскольку это не ваш IP-адрес.
Я знаю, что это старый пост. Но я смог получить эту работу для меня, надеюсь, что она будет полезна для тех, кто нуждается в аналогичной проблеме
ServicePointManager.Expect100Continue = true;
if (System.Web.HttpContext.Current.Request.IsLocal)
{
webRequest.ServicePoint.BindIPEndPointDelegate = delegate(
ServicePoint servicePoint,
IPEndPoint remoteEndPoint,
int retryCount)
{
return new IPEndPoint(
IPAddress.Parse("192.168.1.1"),
0);
};
}
Возможно, вы захотите проверить JSONP, если ваши данные в кодировке JSON, так как именно для запроса данных с веб-сервера, отличного от того, который отправляет исходную веб-страницу.