Массовое скачивание файлов - C#

Узнай цену своей работы

Формулировка задачи:

Подскажите, как можно скачать торрент-файл с сайта по ссылке средствами с#? Есть вариант кода, который скачивает файлы. Но проблема в том, что при попытке открыть скачанный таким образом файл в торрент-клиенте выдает ошибку "torrent is not valid bencoding".Как можно решить данную проблему?
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Net;
  7. namespace Dovnloader
  8. {
  9. class Program
  10. {
  11. static void Main(string[] args)
  12. {
  13. WebClient wc = new WebClient();
  14. string url;
  15. string path;
  16. string name;
  17. for (int i = 0; i < 1000; i++)
  18. {
  19. url = "https://somesite/" + i + "/download";
  20. path = "E:\\torrents";
  21. name = i+".torrent";
  22. wc.DownloadFile(url, path + name);
  23. }
  24. }
  25. }
  26. }

Решение задачи: «Массовое скачивание файлов»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Net;
  7. using System.Threading;
  8. using System.IO;
  9.  
  10. namespace Downloader
  11. {
  12.     class Program
  13.     {
  14.         static void Main(string[] args)
  15.         {
  16.             var url = new StringBuilder("");
  17.             string Folderpath = @"C:\TestFrom";
  18.             var Name = new StringBuilder("");
  19.             var fullPath = new StringBuilder("");
  20.  
  21.             int FileCounter = 0;
  22.  
  23.             int StartIndex = 782225;
  24.             int StopIndex = 785235;
  25.  
  26.             var LinksList = new List<(string, string)>(Math.Abs(StopIndex - StartIndex));
  27.  
  28.             for (int i = StartIndex; i <= StopIndex; i++)
  29.             {
  30.                 url.Clear();
  31.                 Name.Clear();
  32.                 fullPath.Clear();
  33.  
  34.                 url.AppendFormat($"http://tfile.me/forum/download.php?id={i.ToString()}&ak=1111111111");
  35.                 Name.AppendFormat($"{i.ToString()}.torrent");
  36.                 fullPath.AppendFormat($"{Folderpath}{Name}");
  37.  
  38.                 LinksList.Add((url.ToString(), fullPath.ToString()));
  39.             }
  40.            
  41.             foreach (var link in LinksList)
  42.             {
  43.                 try
  44.                 {
  45.                     WebClient wc = new WebClient();
  46.                     wc.DownloadFile(new Uri(link.Item1), link.Item2);
  47.                     // Console.WriteLine($"Downloaded: {link.Item1} to {link.Item2}");
  48.                     FileCounter++;
  49.                 }
  50.                 catch (Exception exc)
  51.                 {
  52.                     Console.WriteLine(exc.Message + $" {link.Item1}");
  53.                 }
  54.             }
  55.            
  56.  
  57.             Console.WriteLine($"{FileCounter} files downloaded");
  58.             Console.WriteLine("End of the program");
  59.             Console.ReadKey(true);
  60.         }
  61.     }
  62. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут