Dariush Gavari Ответов: 1

Как загрузить ссылки из текстового контента C#?


Привет,
у меня проблема.

у меня есть этот код в моем приложении C#, чтобы загрузить все файлы с хоста и сохранить их.


Thread thread = new Thread(() => {
                WebClient client = new WebClient();
                client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
                client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);
                client.DownloadFile(new Uri("http://pingservice.ir/update/Gaming-Turkey-Tcp.ovpn"), @"C:\\Program Files\\OpenVPN\\config\\Gaming-Turkey-Tcp.ovpn");
                client.DownloadFile(new Uri("http://pingservice.ir/update/Gaming-Turkey-Udp.ovpn"), @"C:\\Program Files\\OpenVPN\\config\\Gaming-Turkey-Udp.ovpn");
                client.DownloadFile(new Uri("http://pingservice.ir/update/Gaming-Turkey2-Tcp.ovpn"), @"C:\\Program Files\\OpenVPN\\config\\Gaming-Turkey2-Tcp.ovpn");

            });
            thread.Start();


Что я уже пробовал:

я хочу сохранить все ссылки в файлах .txt на моем хосте, а затем приложение загрузит все ссылки в файл txt и сохранит их.

как я могу это сделать?

спасибо

1 Ответов

Рейтинг:
6

Richard Deeming

Должно быть довольно просто:

WebClient client = new WebClient();
client.DownloadProgressChanged += client_DownloadProgressChanged;
client.DownloadFileCompleted += client_DownloadFileCompleted;

foreach (string url in File.ReadLines(@"C:\Path\To\Your\TextFile.txt"))
{
    if (!Uri.TryCreate(url, UriKind.Absolute, out var uri))
    {
        Console.WriteLine("Invalid URL: '{0}'", url);
        continue;
    }
    
    string fileName = uri.Segments.Last();
    string filePath = System.IO.Path.Combine(@"C:\Program Files\OpenVPN\config", fileName);
    if (System.IO.File.Exists(filePath)) System.IO.File.Delete(filePath);
    
    Console.WriteLine("Download '{0}' to '{1}'...", uri, filePath);
    client.DownloadFile(uri, filePath);
}
Просто поместите каждую ссылку для загрузки на новую строку в текстовом файле.


Dariush Gavari

Спасибо