فصل بیست و پنجم دستیابی به اینترنت در # C

<!-- /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4; mso-font-charset:0; mso-generic-font-family:roman; mso-font-pitch:variable; mso-font-signature:-1610611985 1107304683 0 0 159 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman","serif"; mso-fareast-font-family:"Times New Roman";} .MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; font-size:10.0pt; mso-ansi-font-size:10.0pt; mso-bidi-font-size:10.0pt;} @page Section1 {size:595.3pt 841.9pt; margin:72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin:35.4pt; mso-footer-margin:35.4pt; mso-paper-source:0; mso-gutter-direction:rtl;} div.Section1 {page:Section1;} -->

فصل بیست و پنجم

C#   دستیابی به اینترنت در 

آنچه که در این فصل یاد خواهید گرفت:

Web و گذاشتن فایلها روی Web - برداشتن فایلها از

- کار با سرویسهای اینترنتی

WebClient - آشنایی با کلاس

در برنامههای ویندوز Web Browser - کاربرد کنترل جدید

DNS و انجام مراجعههای IP - دستکاری آدرسهای

Internet دستیابی میکنند، کاربرانی خواهند بود که ASP.NET در بیشتر مواقع سرویس گیرندگانی که به صفحات

را اجرا میکنند. با این وجود، ممکن است بخواهید FireFox یا Opera یا کاوشگرهای وب دیگر همچون Explorer

را به برنامهی کاربردی خود اضافه کنید یا نیاز دارید برنامههایی بنویسید که اطلاعات را از یک سایت WEB ویژگیهای کاوش

وب بدست بیاورید. شاید فکر کنید پیادهسازی یک سرویس وب، بهترین راهحل است. با این وجود، اگر به سایتهای عمومی

اینترنت دستیابی میکنید، ممکن است هیچ کنترلی روی نحوهی پیادهسازی سایت نداشته باشید. این فصل امکانات تهیه

جهت دستیابی به TCP و HTTP را برای بکارگیری پروتکلهای مختلف شبکه مخصوصا NET. شده از طریق کلاسهای پایه

شبکهها و اینترنت را میپوشاند.

هستند .فضای System.Net.Socket و System.Net جالبترین فضاهای نامی برای برنام ه نویسی شبکه، فضاه ا ی نامی

کلاسها و عملیات سطح بالا را در بر دار د . برای مثا ل ، گرفتن 1 یا گذاشت ن 2 فایل ها روی وب، انجام System.Net نامی

کلاس هایی را برا ی انجام System.Net.Socket و پروتک ل های دیگر . در حالیکه HTTP درخواستهای وب با استفاده از

کار کنی د ، TCP/IP عملیات سطح پایین در بردار د . در صورتی که بخواهید مستقیماً با سوک ت ها و پروتک ل هایی نظیر

1 Download

2 Upload

mohsen_mahyar@yahoo.com - C# برنامه نویسی

458

را تقلید میکنند (Winsock ) سوکت ویندوز API کلاسهای سطح پایی ن را مفید خواهید یاف ت . متدهای این کلا س ها توابع

که از واسط سوکتهای برکلی مشتق میشوند.

در شبکه را شامل میشود. NET. این فصل یک راهنما برای شبکهبندی کامپیوتر نیست، اما مقدمهای بر کاربرد چارچوب

جدید در محیط ویندوز دارد و اینکه چگونه بعضی از عملیات خاص دستیاب ی به WebBrowser نگاهی کوتاه به کاربرد کنتر ل

اینترنت را سادهتر انجام میدهد.

با این وجود این فصل با ساد ه ترین حالت ارسال یک تقاضا به یک سرور و ذخیره اطلاعات گرفته شده در جوا ب تقاضا شروع

میکند.

WebClient -1-25 کلاس

NET. ساد ه ترین کلاس System.NET.WebClient ، خاص را درخواست کنی د URL اگر می خواهید فقط یک فایل از ی ک

برای این کار اس ت . این کلا س سطح بالا برای انجام عملیات بوسیله یک یا دو فرمان طراحی شده اس ت . در حال حاضر

شروع میشوند، پشتیبانی میکند. :File: HTTPS:, HTTP هایی که با پروتکلهای URI،NET. چارچوب

کمی کل یتر است و شما را به کاربرد پروتک لهایی همچون URI را دار د، اما URL تقریباً همان معنی URI : توجه

مجبور نمیسازد. FTP و HTTP

-1-1-25 گرفتن فایلها

وجود دار د . متد مورد نظر شما به نحو ه ی پردازش محتویات فایل وابسته WebClient برای گرفتن فای ل ها دو متد در کلاس

را بکار برید . این متد دو ()DownloadFile است. اگر می خواهید بطور ساده آن فایل را روی دیسک ذخیره کنی د ، متد

فایل و یک محل (مسیر و نام فایل) برای ذخیره دادههای درخواست شده. URI : پارامتر میگیرد

WebClient Client = new WebClient();

Client.DownloadFile("http://www.reuters.com/", "ReutersHomepage.htm");

معمولاً برنامه کاربردی شما م ی خواهد داد ه های بازیابی کرده از وب سایت را پردازش کن د . برای انجام این کار

بر م ی گرداند. سپس م ی توانی د از آن ارجاع Stream یک ارجاع از نوع ()OpenRead را بکار بری د . متد ()OpenRead متد

جهت بازیابی اطلاعات به حافظه استفاده کنید.

WebClient Client = new WebClient();

Stream strm = Client.OpenRead("http://www.reuters.com/");

WebClient -2-1-25 مثالی از

ListBox را نشان م ی دهد. محتوای صفحه ی گرفته شده را در یک کنترل ()WebClient.OpenRead مثال اول کار متد

ایجاد کرده و یک کنتر ل Windows Forms با استاندارد #c نمایش خواهد داد. برای شروع کار ابتدا یک پروژهی جدید

قرار داده شده باشد. DockStyle.Fill 1اضافه کنید که خصوصیت لنگرگاه آن listBox بنام ListBox

را اضافه کنید و تغییرات زیر را روی سازند ه ی فرم اصلی ایجاد System.IO و system.Net در ابتد ای فایل فضاهای نامی

کنید.

public Form1()

{

فصل بیست و پنجم دستیابی به اینترنت

459

InitializeComponent();

System.Net.WebClient Client = new WebClient();

Stream strm = Client.OpenRead("http://www.reuters.com");

StreamReader sr = new StreamReader(strm);

string line;

while ( (line=sr.ReadLine()) != null )

{

listBox1.Items.Add(line);

}

strm.Close();

}

به جریان شبکه وصل می کنید. با این عمل م ی توانید System.Io را از فضای نامی StreamReader در این مثال کلاس

1 نتایج اجرای این کد را - بدست آوری د . شکل 25 ReadLine محتویات فایل را با استفاده از متدهای سطح بالا یی همچون

نشان میدهد.

1- شکل 25

نیز دارد . این متد یک جریان قابل نوشتن برم ی گرداند که م ی توانید داده ها را به ()OpenWrite

/ 0 نظر / 95 بازدید