C# 的 Web 相關物件之使用 日期 : 2018/11/21.

Slides:



Advertisements
Similar presentations
软件编程基础 一、程序的编辑 Java 源程序是以 Java 为后缀的简单的文本文件,可以用各种 Java 集成开发环境中的源代码编辑器来编写,也可以用其他文 本编辑工具,如 Windows 中的记事本或 DOS 中的 EDIT 软件等。 利用文字编辑器编写下列程序 public class Hello.
Advertisements

第三讲 面向对象(上).
项目6 通用堆栈.
五專醫護類科介紹 樹人醫專 職業教育組 李天豪 組長.
Java程序设计教程 第一讲 Java概述.
四資二甲 第三週作業 物件導向程式設計.
面向对象的程序设计(一).
MVC Servlet与MVC设计模式.
我班最喜愛的零食 黃行杰.
C#程序设计 10软件1、2班 王槐彬 计算机工程学院.
第二章 JAVA语言基础.
Microsoft Application Center Test
第三章 控制结构.
程式設計實作.
第5章 异常处理 王德俊 上海交通大学继续教育学院.
2.1 基本資料型別 2.2 變數 2.3 運算式與運算子 2.4 輸出與輸入資料 2.5 資料型別轉換 2.6 實例
第二章 C# 基础知识.
例外處理(Exception Handling)
Java基础 JavaSE异常.
美女图片 下载器开发 之.Net篇 如鹏网.
第14章 建立網路應用程式 14-1 瀏覽器的建立 14-2 檔案下載器 14-3 寄送電子郵件 14-4 檢查POP 3的電子郵件.
第十三章 文件和注册表操作.
JAVA 编 程 技 术 主编 贾振华 2010年1月.
C#程序设计 c# programming 网络编程 C#程序设计课程组.
JAVA程序设计 第5章 深入理解JAVA语言----补充.
程式設計實作.
Java语言程序设计 第五部分 Java异常处理.
第六章 编写客户端程序.
第三章 流程控制與例外處理 資訊教育研究室 製作 注意:本投影片僅供上課使用,非經同意,請勿散播或轉載。
C#面向对象程序设计 $7 继承和多态性.
網路程式設計 - C# 版 日期 : 2018/12/10.
例外處理與 物件序列化(Exception Handling and Serialization of Objects)
檔案讀寫與例外處理 (File IO and Exception Handling)
3.1 数据类型 3.2 标识符与关键字 3.3 常量 3.4 变量 3.5 运算符与表达式 3.6 一个编程实例
$16 进程和线程. $16 进程和线程 进程 进程 属性 ProcessName / Id MachineName / MainModule BasePriority StartTime / ExitTime TotalProcessorTime / UserProcessorTime PrivateMemorySize64.
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
第 十二 章 C# 中的文件处理.
异常及处理.
Ch02-基礎語法.
C/C++/Java 哪些值不是头等程序对象
C#程序设计基础 第二章 数据类型.
第六章 属性、索引器、委托和事件.
P2P聊天工具.
* 單元:電腦與問題解決 主題:Java物件導向程式設計-類別與物件 台南縣國立善化高中 蕭嘉民 老師
第三章 C# 基础知识.
Web Server 王宏瑾.
透過YouTuBe API取得資料 建國科技大學 資管系 饒瑞佶 2018/1 V1.
辅导课程八.
JAVA 编 程 技 术 主编 贾振华 2010年1月.
第十二章 过滤器.
1 Session对象的特性 Session 状态对象 Session 对象常用的方法有: Session 对象常用的属性有:
第二章 Java基本语法 讲师:复凡.
Java程式初體驗大綱 大綱 在學程式之前及本書常用名詞解釋 Hello Java!程式 在Dos下編譯、執行程式
第二章 Java语法基础.
第二章 Java基本语法 讲师:复凡.
Review 1~3.
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
龍老師我不會Debug QQ.
第二章 Java基本语法 讲师:复凡.
第6單元 6-1 類別的繼承 (Class Inheritance) 6-2 抽象類別 (Abstract Class)
JAVA 程式設計與資料結構 第三章 物件的設計.
第2章 Java语言基础.
DNS CACHE POISONING A 曾子桐 指導教授: 梁明章.
C#快速導讀 流程控制.
判斷(選擇性敘述) if if else else if 條件運算子.
第二章 Java基础语法 北京传智播客教育
輸出執行結果到螢幕上 如果要將執行結果的文字和數值都「輸出」到電腦螢幕時,程式要怎麼寫? class 類別名稱 {
第二章 Java基本语法 讲师:复凡.
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
Summary
Presentation transcript:

C# 的 Web 相關物件之使用 日期 : 2018/11/21

範例 4-11:Cookie string strBuff = ""; System.Net.Cookie cookie = new System.Net.Cookie("HASH", "", "/", "microsoft.com"); strBuff = "Comment: " + cookie.Comment.ToString() + "\r\n"; strBuff = strBuff + "Domain: " + cookie.Domain.ToString() + "\r\n"; strBuff = strBuff + "Expired: " + cookie.Expired.ToString() + "\r\n"; strBuff = strBuff + "Expires: " + cookie.Expires.ToString() + "\r\n"; strBuff = strBuff + "Name: " + cookie.Name.ToString() + "\r\n"; strBuff = strBuff + "Path: " + cookie.Path.ToString() + "\r\n"; strBuff = strBuff + "Port: " + cookie.Port.ToString() + "\r\n"; strBuff = strBuff + "Secure: " + cookie.Secure.ToString() + "\r\n"; strBuff = strBuff + "Value: " + cookie.Value.ToString() + "\r\n"; strBuff = strBuff + "Version: " + (cookie.Version == 1 ? "2109" : "2965") + "\r\n"; txtCookie.Text = strBuff; 2 陳鍾誠 - 2018/11/21

範例 4-12 : Web Request 陳鍾誠 - 2018/11/21 // 以WebRequest抽象類別的Create方法建立WebRequest物件 request = WebRequest.Create(new Uri(txtURL.Text)); // WebRequest類別之屬性 // 連結群組名稱 if (request.ConnectionGroupName != null) result = result + "ConnectionGroupName: " + request.ConnectionGroupName.ToString() + "\r\n"; // 用戶端所傳送資料內容的大小(byte) if (request.ContentLength != -1) result = result + "ContentLength: " + request.ContentLength.ToString() + "\r\n"; … // 是否要求預先驗證 result = result + "PreAuthenticate: " + request.PreAuthenticate + "\r\n"; // 用戶端所傳送的URI result = result + "RequestUri: " + request.RequestUri.ToString() + "\r\n"; txtRequest.Text = result; 3 陳鍾誠 - 2018/11/21

範例 4-13 : Web Response 陳鍾誠 - 2018/11/21 // 以WebRequest抽象類別的Create方法建立WebRequest物件 request = WebRequest.Create(new Uri(txtURL.Text)); // 使用WebRequest類別的GetResponse方法建立WebResponse物件 response = request.GetResponse(); // WebResponse類別之屬性 // 用戶端所接收資料內容的大小(byte) result = result + "ContentLength: " + response.ContentLength.ToString() + "\r\n"; // 用戶端所接收資料內容的MIME格式 result = result + "ContentType: " + response.ContentType.ToString() + "\r\n"; // 用戶端所接收的URI result = result + "ResponseUri: " + response.ResponseUri.ToString() + "\r\n"; // 取得伺服端回應串流 System.IO.Stream respStream = response.GetResponseStream(); // 設定編碼為UTF-8並取得伺服端回應串流的內容 StreamReader respStreamReader = new StreamReader(respStream, Encoding.UTF8); string strBuff = ""; char[] cbuffer = new char[256]; int byteRead = respStreamReader.Read(cbuffer, 0, 256); while (byteRead != 0) { string strResp = new string(cbuffer, 0, byteRead); strBuff = strBuff + strResp; byteRead = respStreamReader.Read(cbuffer, 0, 256); } respStream.Close(); // 關閉回應串流 response.Close(); result = result + "\r\nResponse: \r\n\r\n" + strBuff; txtResponse.Text = result; 4 陳鍾誠 - 2018/11/21

CookieTest 陳鍾誠 - 2018/11/21 using System; using System.Net; class CookieTest { static void Main(String[] args) System.Net.Cookie cookie = new System.Net.Cookie("HASH", "", "/", "microsoft.com"); String strBuff = ""; strBuff = "Comment: " + cookie.Comment.ToString() + "\r\n"; strBuff = strBuff + "Domain: " + cookie.Domain.ToString() + "\r\n"; strBuff = strBuff + "Expired: " + cookie.Expired.ToString() + "\r\n"; strBuff = strBuff + "Expires: " + cookie.Expires.ToString() + "\r\n"; strBuff = strBuff + "Name: " + cookie.Name.ToString() + "\r\n"; strBuff = strBuff + "Path: " + cookie.Path.ToString() + "\r\n"; strBuff = strBuff + "Port: " + cookie.Port.ToString() + "\r\n"; strBuff = strBuff + "Secure: " + cookie.Secure.ToString() + "\r\n"; strBuff = strBuff + "Value: " + cookie.Value.ToString() + "\r\n"; strBuff = strBuff + "Version: " + (cookie.Version == 1 ? "2109" : "2965") + "\r\n"; Console.WriteLine(strBuff); } 5 陳鍾誠 - 2018/11/21

WebCacheTest 陳鍾誠 - 2018/11/21 using System; using System.Net; using System.Net.Cache; class WebCacheTest { static void Main(String[] args) // 以WebRequest抽象類別的Create方法建立WebRequest物件 System.Net.WebRequest request = WebRequest.Create(new Uri(args[0])); // 設定快取原則(Cache Policy) // 若有符合用戶端請求之Cache資源,則使用此Cache滿足用戶端之請求 // 否則將用戶端請求傳送至伺服端 request.CachePolicy = new RequestCachePolicy(RequestCacheLevel.CacheIfAvailable); // 使用WebRequest類別的GetResponse方法建立WebResponse物件 System.Net.WebResponse response = request.GetResponse(); // WebResponse類別之屬性 // 用戶端所接收資料內容的大小(byte) String result = "ContentLength: " + response.ContentLength.ToString() + "\r\n"; // 用戶端所接收資料內容的MIME格式 result = result + "ContentType: " + response.ContentType.ToString() + "\r\n"; // 用戶端所接收的URI result = result + "ResponseUri: " + response.ResponseUri.ToString() + "\r\n"; // 用戶端所接收之回應內容是否從快取中取得 result = result + "伺服端回應是否取自Cache? " + response.IsFromCache; // 關閉回應串流 response.Close(); Console.WriteLine(result); } 6 陳鍾誠 - 2018/11/21

WebClientTest 陳鍾誠 - 2018/11/21 using System; using System.Net; using System.IO; using System.Text; class WebClientTest { static void Main(String[] args) string url = "http://ccc.kmit.edu.tw/ccc/me/ccc.jpg"; string localfile = "ccc.jpg"; // 建立WebClient物件 WebClient webclient = new WebClient(); // 下載檔案 try // 自指定URI下載資料,並儲存為本機之檔案 webclient.DownloadFile(url, localfile); Console.WriteLine("Download file completed."); } catch (WebException ex) Console.WriteLine(ex.StackTrace.ToString()); webclient.Dispose(); 7 陳鍾誠 - 2018/11/21

WebRequestTest 陳鍾誠 - 2018/11/21 using System; using System.Net; class WebRequestTest { static void Main(String[] args) { String result = ""; // 以WebRequest抽象類別的Create方法建立WebRequest物件 WebRequest request = WebRequest.Create(new Uri("http://www.google.com/")); // WebRequest類別之屬性 if (request.ConnectionGroupName != null) // 連結群組名稱 result = result + "ConnectionGroupName: " + request.ConnectionGroupName.ToString() + "\r\n"; if (request.ContentLength != -1) // 用戶端所傳送資料內容的大小(byte) result = result + "ContentLength: " + request.ContentLength.ToString() + "\r\n"; if (request.ContentType != null) // 用戶端所傳送資料內容的MIME格式 result = result + "ContentType: " + request.ContentType.ToString() + "\r\n"; if (request.Credentials != null) // 用戶端網路憑證 result = result + "Credentials: " + request.Credentials.ToString() + "\r\n"; result = result + "Headers: " + request.Headers.ToString() + "\r\n"; // 用戶端所傳送資料內容的標題資訊 result = result + "Method: " + request.Method.ToString() + "\r\n"; // 用戶端所使用的通訊協定方法 result = result + "PreAuthenticate: " + request.PreAuthenticate + "\r\n"; // 是否要求預先驗證 result = result + "RequestUri: " + request.RequestUri.ToString() + "\r\n"; // 用戶端所傳送的URI Console.WriteLine(result); } 8 陳鍾誠 - 2018/11/21

WebResponseTest 陳鍾誠 - 2018/11/21 class WebResponseTest { static void Main(String[] args) { System.Net.WebRequest request = WebRequest.Create(new Uri("http://www.google.com/")); ; System.Net.WebResponse response = request.GetResponse(); ; string requestText = ""; requestText = requestText + "ContentLength: " + response.ContentLength.ToString() + "\r\n"; requestText = requestText + "ContentType: " + response.ContentType.ToString() + "\r\n"; requestText = requestText + "ResponseUri: " + response.ResponseUri.ToString() + "\r\n"; System.IO.Stream respStream = response.GetResponseStream(); StreamReader respStreamReader = new StreamReader(respStream, Encoding.Default); string responseText = ""; char[] cbuffer = new char[256]; int byteRead = respStreamReader.Read(cbuffer, 0, 256); while (byteRead != 0) { string strResp = new string(cbuffer, 0, byteRead); responseText = responseText + strResp; byteRead = respStreamReader.Read(cbuffer, 0, 256); } respStream.Close(); response.Close(); Console.WriteLine("Request : \r\n"+requestText); Console.WriteLine("Response : \r\n"+responseText); 9 陳鍾誠 - 2018/11/21