HttpWebRequest超时(被阻止)c#

时间:2016-06-16 23:08:08

标签: timeout httpwebrequest fiddlercore pcap.net sharppcap

我有一个c#应用程序从网站(种子)下载多个小文件。有些网站会限制每天每个IP的下载次数。

我执行HttpWebRequest,如果流是有效的torrent,我将其保存到磁盘。

在执行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());

        }

任何解决方案?

1 个答案:

答案 0 :(得分:1)

为此,您需要操作tcp / ip数据包。这意味着您需要捕获由HttpWebRequest创建的传出数据包,并将其源IP更改为欺骗性数据包。

我发现此论坛帖子似乎与您要执行的操作有关,请查看:http://pcapdotnet.codeplex.com/discussions/349978

据我所知,您可以通过PCap.netSharpPcap图书馆进行此操作。