CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 437

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

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 TCPUDP (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

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

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();

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.