Download file sử dụng C#; Ra lệnh cho IDM tải file về máy bằng C#…
Trong một số ứng dụng c# cần tải file (nhạc, ảnh, video, các file nén...) từ internet về máy để sử dụng hoặc xử lý theo nhiệm vụ gì đó thì ta có thể dùng lệnh trực tiếp trong c# chẳng hạn như sử dụng hàm sau đây: (Hàm này download và đợi cho đến khí download xong)
public void PoolAndDownloadFile(Uri uri, string filePath) { WebClient webClient = new WebClient(); byte[] downloadedBytes = webClient.DownloadData(uri); while (downloadedBytes.Length == 0) { Thread.Sleep(2000); downloadedBytes = webClient.DownloadData(uri); } Stream file = File.Open(filePath, FileMode.Create); file.Write(downloadedBytes, 0, downloadedBytes.Length); file.Close(); }
Hoặc
WebClient client = new WebClient(); client.DownloadFile("https://webex.com/lsr.php?RCID=9853e32d921d", @"C:\Video.mp4");
Nếu trên máy đã cài IDM thì chúng ta có thể ra lệnh cho IDM tải về sẽ nhanh hơn so với tải trực tiếp như vậy, điều này có ý nghĩa khi download các file có dung lượng lớn:
Trong C# có thể sử dụng các dòng lệnh như sau:
Process.Start(@"C:\Program Files (x86)\Internet Download Manager\IDMan.exe", " /a /d " + urlfile + " /p D:\data\"); Process.Start(@"C:\Program Files (x86)\Internet Download Manager\IDMan.exe"," /s");
Lệnh đầu tiên là thêm file cần tải vào danh sách đợi tải của IDM;
Lệnh thứ 2 là lệnh tải về.
Một số tham số chúng ta có thể thêm vào dòng lênh trên, tùy theo nhu cầu sử dụng:
Cách gọi tham số: idman /d URL [/p local_path] [/f local_file_name] [/q] [/h][/n] [/a]
/d URL : url cần download.
/p local_path : thư mục lưu file.
/f file_name : tên file sẽ lưu.
/q : IDM sẽ thoát sau khi download xong.
/h : IDM sẽ giữ connect khi download xong.
/n : IDM sẽ không hiện ra thông báo gì khi tải.
/a : dùng với /d, add url vào hàng chờ.
/s : download các file trong hàng chờ.
Bonus
Khi cần tải Source web để lấy thông tin tự động ta làm như sau:
WebClient wc = new WebClient(); wc.Encoding = System.Text.Encoding.ASCII; string code = ""; try { //Lấy source code của web code = wc.DownloadString(new Uri("urlSourceWeb")); //save string to file System.IO.File.WriteAllText(@"C:\4.html", code); } catch (WebException ex) { }
Bình luận gần đây