Вопрос:
Я разрабатываю веб-сайт, который будет подключаться к веб-сервису шлюза обработки кредитных карт. В целях безопасности этот веб-сервис принимает запросы только с IP-адресов, которые были ранее сообщены им.
Поскольку я развиваюсь локально, мой IP меняется почти каждый день. Есть ли способ изменить IP-адрес HttpWebRequest, чтобы я мог локально тестировать вызовы Webservice?
Этот веб-сервис доступен через адрес https, и методы должны быть отправлены через POST.
Ответ №1
Нет, но если вам удастся изменить исходный IP-адрес ваших запросов, то что вы будете делать, называется IP-spoofing. Проблема заключается в том, что исходный IP-адрес используется для перенаправления ответов на ваш компьютер, поэтому, поскольку вам как-то удалось изменить IP-адрес в пакетах запросов, ответ никогда не вернется к вам, потому что это не ваш IP-адрес.
Ответ №2
Возможно, вы захотите проверить JSONP, если ваши данные находятся в кодировке JSON, так как это точно для запроса данных с веб-сервера, отличного от того, который отправляет исходную веб-страницу.
Ответ №3
Я знаю, что это старый пост. Но я смог получить эту работу для меня, надеюсь, что это будет полезно для кого-то, кто нуждается в подобной проблеме.
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); }; }