如何在HttpWebRequest中更改请求IP?

时间:2010-05-13 18:20:40

标签: c# asp.net httpwebrequest

我正在开发一个连接到信用卡处理网关webservice的网站。出于安全考虑,此Web服务仅接受先前通知他们的IP地址的请求。

由于我在本地开发,我的IP几乎每天都在变化。有没有办法让我更改HttpWebRequest的IP地址,以便我可以在本地测试Webservice调用?

此Web服务通过https地址访​​问,方法必须通过POST发送。

3 个答案:

答案 0 :(得分:1)

不,但如果您设法更改了请求的源IP地址,那么您将要做的就是IP欺骗。问题是源IP用于将响应路由回您的计算机,因此,由于您以某种方式设法更改请求数据包中的IP地址,因此响应永远不会回复给您,因为这不是您的IP地址。

答案 1 :(得分:1)

我知道这是一个老帖子。但是我能够为我做这项工作,希望这对需要类似问题的人有用

  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);
                };
            }

答案 2 :(得分:0)

如果您的数据采用JSON编码,您可能需要查看JSONP,因为这完全是为了从发送原始网页的网络服务器以外的网络服务器请求数据。