1

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

我做了一个 HttpWebRequest,如果流是有效的 torrent,我将它保存到磁盘。

有没有办法让我的 c# 应用程序在执行 HttpWebRequest 时欺骗我的 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());

        }

有什么解决办法吗?

4

1 回答 1

1

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

我发现这个论坛帖子似乎与您想做的事情有关,请查看: http: //pcapdotnet.codeplex.com/discussions/349978

据我所知,您可以通过PCap.netSharpPcap库来实现。

于 2016-06-16T23:22:08.817 回答