У меня есть приложение C#, которое загружает несколько крошечных файлов с веб-сайтов (торренты). Некоторые сайты ограничивают количество загрузок на каждый IP-адрес в день.HttpWebRequest таймаут (будучи заблокированным) C#
Я делаю HttpWebRequest, и если поток является действительным торрентом, я сохраняю его на диске.
Есть ли способ для моего приложения C# для подмены моего IP-адреса при выполнении HttpWebRequest, так что загрузка не подведет?
Я отложил время загрузки до одного раза в 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());
}
Любые решения?
Не сделал бы так, чтобы пакеты ответа не возвращались к вам? Кроме того, вам придется изменить свой общедоступный IP-адрес, который не может быть ip-адресом вашей системы. –
Правильно, и Spoofed IP должен быть в вашей подсети, чтобы перенаправляться обратно в вашу сеть. И если вы за NAT-сервером, я думаю, что это будет невозможно. Вы можете обманывать, но по мере того, как NAT снова изменяет пакеты, это будет бессмысленно. – akazemis