我有一个C#应用程序,该应用程序从网站(Torrents)下载多个小文件。有些站点限制每天下载的数量。
我做一个httpwebrequest,如果流是有效的洪流,我将其保存到磁盘。
在执行HTTPWebrequest时,我的C#应用程序是否可以欺骗我的IP,以便下载不会失败?
我将下载时间置于每10分钟的时间,但没有运气。我最终仍然被阻止。
我听说" tor"可以使用不同的IP,但是我不希望使用我的桌面应用程序的人分别安装TOR浏览器。
HttpWebResponse resp = null;
try
{
var req = (HttpWebRequest)WebRequest.Create("http://www.exampe.com/test.torrent);
req.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip,deflate");
req.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip;
req.Timeout = 30000;
req.KeepAlive = true;
resp = (HttpWebResponse)(req.GetResponse());
}
有什么解决方案?
要这样做,您需要操纵TCP/IP数据包。这意味着您需要捕获httpwebrequest创建的传出数据包,并将其源IP更改为欺骗。
我找到了这个论坛帖子,似乎与您想做的事情有关,请查看:http://pcapdotnet.codeplex.com/discussions/349978
据我所知,您可以通过pcap.net或sharppcap库进行。