437
Chương 11: Lập trình mạng
icrosoft .NET Framework bao gồm một tập các lớp dùng để lập trình mạng thuộc
hai không gian tên:
System.Net
và
System.Net.Sockets
. Các lớp này hỗ trợ mọi
thứ, từ lập trình dựa-trên-socket với TCP/IP cho đến download file và trang
HTML từ web thông qua HTTP. Hai không gian tên này cũng là nền tảng cho hai nền
networking cấp cao hơn—Remoting và dịch vụ Web XML. Hai nền này sẽ được đề cập chi tiết
trong chương 12. Chương này sẽ trình bày các vấn đề sau:
M
Lấy tài nguyên từ web thông qua HTTP (mục 11.1, 11.2, và 11.3).
Hiển thị một trang web trong một ứng dụng dựa-trên-Windows bằng điều kiểm Web
Browser (mục 11.4).
Lấy địa chỉ IP và thông tin DNS về máy tính hiện hành và các miền khác trên World
Wide Web (mục 11.5 và 11.6).
Gửi thông điệp “ping” (mục 11.7) và giao tiếp bằng giao thức TCP và UDP (mục 11.8
đến 11.13).
Gửi và nhận e-mail (mục 11.14 và 11.15).
1.
1.
Download file thông qua HTTP
Download file thông qua HTTP
Bạn cần một cách thật nhanh và đơn giản để download một file từ một website
thông qua HTTP.
Sử dụng phương thức tĩnh
DownloadFile
của lớp
System.Net.WebClient
.
.NET Framework cung cấp vài cơ chế dùng để gửi dữ liệu thông qua HTTP. Một trong những
cách dễ nhất là sử dụng lớp
System.Net.WebClient
. Nó cung cấp những phương thức mức-cao
như
DownloadFile
và
UploadFile
. Các phương thức này không có sự hỗ trợ nội tại nào cho
giao tiếp bất đồng bộ, hay xác thực. Nếu cần các tính năng này, bạn có thể sử dụng các chức
năng phức tạp hơn do lớp
WebRequest
và
WebResponse
cung cấp (sẽ được mô tả trong mục
11.2 và 11.3).
Chương trình ví dụ dưới đây sẽ download file winXP.gif từ
localhost
và lưu vào đĩa.
using System;
using System.Net;
using System.IO;
public class Download {
private static void Main() {
string remoteUri =
"http://localhost/winXP.gif";
string localFileName = "winXP.gif";
WebClient client = new WebClient();