[英]C# How to spoof IP address for WebRequest
我有asp.net网站托管,我正在使WebRequest发布数据并获得响应。 该网站正在进行IP过滤。 我想欺骗发件人IP地址以进行测试。 是否可以以编程方式执行或我必须使用任何工具。
public string GetResponse(string request)
{
lock (Obj)
{
request = request + _dataControlInfo.SendEndingWith;
Logger.Info(request);
var req = (HttpWebRequest)WebRequest.Create(_serviceUrl);
req.Headers.Add("SOAPAction", "\"\"");
req.ContentType = "text/xml;charset=\"utf-8\"";
req.Accept = "text/xml";
req.Method = "POST";
var stm = req.GetRequestStream();
var bytes = UtfEncoding.StringToUtf8ByteArray(request);
stm.Write(bytes, 0, bytes.Length);
stm.Close();
var resp = req.GetResponse();
var stmr = new StreamReader(resp.GetResponseStream());
var strResponseXml = stmr.ReadToEnd();
Logger.Info(strResponseXml);
return strResponseXml;
}
}
请说明任何可能性。
如果您希望得到答复,那么不。 如果没有正确的IP地址,服务器将不会将响应发送到正确的目标。
如果您仍然坚持尝试, 请参阅此文章以编程方式设置客户端的IP地址。
某些服务器还可以考虑X-Forwarded-For和X-Real-IP标头。 因此,如果服务器检查这些标头,您可以将它们添加到Web请求中。 但这取决于服务器的实现。
使用System.Security命名空间中的Spoof类...
您可以尝试使用代理,如此处所述。 ( http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.proxy.aspx )。
在另一台计算机上设置代理,然后将该计算机配置为请求代理服务器应该使请求看起来好像来自代理的IP,而不是您的IP。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.