Làm thế nào để nhận được yêu cầu bằng cách sử dụng Visual C#

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch thuật của Microsoft và có thể được Cộng đồng Microsoft chỉnh sửa lại thông qua công nghệ CTF thay vì một biên dịch viên chuyên nghiệp. Microsoft cung cấp các bài viết được cả biên dịch viên và phần mềm dịch thuật thực hiện và cộng đồng chỉnh sửa lại để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng nhiều ngôn ngữ Tuy nhiên, bài viết do máy dịch hoặc thậm chí cộng đồng chỉnh sửa sau không phải lúc nào cũng hoàn hảo. Các bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này: 307023
Đối với phiên bản Microsoft Visual Basic .NET của bài viết này, hãy xem 301102.

Bài viết này đề cập tới tên Microsoft Khuôn khổ .NET thư viện lớp sau:
  • System.Net
  • System.IO
Tóm tắt
Bài viết từng bước này mô tả cách đơn giản được yêu cầu để lấy một web site từ Internet. Microsoft Khuôn khổ .NET bao gồm nhiều lớp mạng, bao gồm cả yêu cầu Web hữu ích.

Yêu cầu

Danh sách tóm tắt các khuyến nghị phần cứng, phần mềm, cơ sở hạ tầng mạng và gói bản ghi dịch vụ mà bạn cần:
  • Windows Server 2003, Microsoft Windows 2000Professional, Windows 2000 Server, Windows 2000 nâng cao máy chủ hoặc máy chủ MicrosoftWindows NT 4.0
  • Microsoft Visual Studio
Lưu ý: Nếu bạn đang sau một hệ phục vụ giám quản, hệ phục vụ ủy quyền, bạn phải có một Địa chỉ Web nội bộ hoặc giá trị tĩnh proxy (xem Bước 5 và 6 của phần "yêu cầu một trang Web") để kiểm tra mã trong bài viết này.

Yêu cầu một web site

Khả năng truy xuất web site lập trình có nhiều người sử dụng. Khả năng này được cung cấp để lập trình Microsoft Visual Basic 6.0 thông qua kiểm soát truyền Internet hoặc mã hoá trực tiếp với API WinInet.

.NET, tên System.Net cung cấp các loại WebRequest đóng gói một yêu cầu tài nguyên Internet và lớp WebResponse cho dữ liệu được trả lại.

Bằng cách sử dụng các đối tượng, bạn có thể lấy một dòng thể hiện phản hồi cho một yêu cầu cụ thể. Khi bạn có một dòng, bạn có thể đọc phản hồi cũng như bạn đọc từ tệp văn bản cục bộ hoặc từ các nguồn khác.

Cho một yêu cầu nhận, hãy làm theo các bước sau:
  1. Khởi động Visual Studio.
  2. Tạo một ứng dụng bàn điều khiển mới trong Visual C#. VisualStudio tự động tạo ra một khu vực lớp và một phương pháp chính trống.
  3. Xác minh rằng các dự án tham khảo ít System.dll.
  4. Sử dụng chỉ sử dụng không gian hệ thống , không gian tên System.NET và tên System.IO (đối tượng dòng) bạn sẽ không có toqualify tuyên bố từ các tên sau mã. Statementsmust được sử dụng trước khi bất kỳ tuyên bố khác.
    using System;using System.Net;using System.IO;
  5. Đối với ví dụ này, mã hóa khó URL dưới dạng một biến. Areal hệ thống, bạn sẽ có thể nhận được giá trị này là một tham số afunction hoặc một đối số dòng lệnh với ứng dụng bàn điều khiển.
    string sURL;sURL = "http://www.microsoft.com";
  6. Tạo một đối tượng WebRequest mới. Bạn có thể thực hiện việc này chỉ thông qua phương pháp tạo tĩnh loại WebRequest ("New WebRequest" không hợp lệ). Cung cấp aspart URL mục tiêu của cuộc gọi để tạo khởi tạo đối tượng có giá trị này.
    WebRequest wrGETURL;wrGETURL = WebRequest.Create(sURL);
  7. Nếu bạn muốn yêu cầu URL bên ngoài mạng cục bộ, andyou sau một proxy, bạn phải tạo một đối tượng WebProxy , và sau đó cung cấp các đối tượng này cho đối tượng WebRequest của bạn. Đối tượng WebProxy có nhiều tài sản, không được thiết lập trong thesample mã dưới đây, cho phép bạn chỉ định các thông tin cơ bản mà youcan đặt thông qua các thiết đặt proxy trong Microsoft Internet Explorer.
    WebProxy myProxy = new WebProxy("myproxy",80);myProxy.BypassProxyOnLocal = true;wrGETURL.Proxy = myProxy;
  8. Nếu bạn muốn sử dụng thiết là alreadyconfigured trong Internet Explorer, bạn có thể thực hiện việc này thông qua phương pháp tĩnh GetDefaultProxy loại WebProxy .
    wrGETURL.Proxy = WebProxy.GetDefaultProxy();
    Lưu ý: Visual Studio 2005 hoặc Visual Studio 2008, phương pháp GetDefaultProxy hoạt động. Tuy nhiên, phương pháp này đã được không được chấp nhận. Để moreinformation về phương pháp GetDefaultProxy trong Microsoft Khuôn khổ .NET 2.0, hãy truy cập web site followingMicrosoft Developer Network (MSDN):
  9. Khi bạn đã hoàn thành thiết lập lên máy bysetting yêu cầu URL mục tiêu và cho bất kỳ thông tin ủy quyền phù hợp, bạn canuse yêu cầu của bạn để lấy một đối tượng dòng tương ứng để đáp ứng yêu cầu của bạn.
    Stream objStream;objStream = wrGETURL.GetResponse().GetResponseStream();
  10. Khi có dòng phản hồi, bạn có thể sử dụng các streamas bạn muốn sử dụng bất kỳ dòng và bạn có thể đọc nội dung của thestream dòng theo dòng, hoặc thậm chí tất cả cùng một lúc. Codeloop mẫu sau đọc dòng dòng một lần cho đến khi phương pháp ReadLine trả lại không, bởi outputting từng dòng vào Panel điều khiển.
    StreamReader objReader = new StreamReader(objStream);string sLine = "";int i = 0;while (sLine!=null){	i++;	sLine = objReader.ReadLine();	if (sLine!=null)		Console.WriteLine("{0}:{1}",i,sLine);}Console.ReadLine();
  11. Lưu và sau đó chạy chương trình của bạn. Xác minh rằng bạn haveconfigured proxy thông tin chính xác cho môi trường của bạn (xem bước 7and 8). Bạn sẽ thấy dòng HTML nội dung số và outputted để theconsole.

Danh sách đầy đủ mã

using System;using System.Net;using System.IO;namespace MakeAGETRequest_charp{	/// <summary>	/// Summary description for Class1.	/// </summary>	class Class1	{		static void Main(string[] args)		{			string sURL;			sURL = "http://www.microsoft.com";			WebRequest wrGETURL;			wrGETURL = WebRequest.Create(sURL);						WebProxy myProxy = new WebProxy("myproxy",80);			myProxy.BypassProxyOnLocal = true;	        wrGETURL.Proxy = WebProxy.GetDefaultProxy();			Stream objStream;			objStream = wrGETURL.GetResponse().GetResponseStream();			StreamReader objReader = new StreamReader(objStream);			string sLine = "";			int i = 0;			while (sLine!=null)			{				i++;				sLine = objReader.ReadLine();				if (sLine!=null)					Console.WriteLine("{0}:{1}",i,sLine);			}			Console.ReadLine();		}	}}

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 307023 - Xem lại Lần cuối: 04/10/2016 02:45:00 - Bản sửa đổi: 4.0

Microsoft Visual C# 2005, Microsoft Visual C# .NET 2002 Standard Edition, Microsoft Visual C# 2008 Express Edition

  • kbhowtomaster kbio kbmt KB307023 KbMtvi
Phản hồi