Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 HTTP響應 實體資料 自定義一個簡單的訊息體結構
總之,伺服器返回的響應訊息類似於C++語言中的結構體
訊息頭和訊息體就是這個結構體裡面的元素。
使用者在使用HTTP程式設計時,
可以根據需要自定義一個結構體儲存該訊息資料。
例如,自定義一個簡單的訊息結構體
typedef struct
{
char *messagehead; //資料頭指標
float i; //實體資料的大小
char *messagebody; //實體資料指標
...
}message;
相關推薦
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 HTTP響應 實體資料 自定義一個簡單的訊息體結構
總之,伺服器返回的響應訊息類似於C++語言中的結構體 訊息頭和訊息體就是這個結構體裡面的元素。 使用者在使用HTTP程式設計時, 可以根據需要自定義一個結構體儲存該訊息資料。 例如,自定義一個簡單的訊息結構體 typedef struct { char *messagehead; /
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 HTTP響應 實體資料 類獲取響應訊息的響應碼
結構體的用法很簡單。 例如,利用該類獲取響應訊息的響應碼 程式碼如下 ... message msg; //結構體物件 CString str; //存放響應碼 msg.messagehead=&recvdata; //recvdata 為接收到的響應訊息
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 HTTP響應 實體資料 伺服器的訊息響應格式
在伺服器的響應訊息中包括了訊息頭和訊息體兩部分。 其中訊息體中包含的實體資料。 並且在訊息頭和實體資料之間使用一個空白行進行分隔。 例如 客戶端向伺服器請求一個頁面GET.html 伺服器的響應訊息格式如下 HTTP/1.1 200 OK//訊息頭。 Date: Mon,21 Nov
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 HTTP響應 實體標題欄位資訊 Content-Length標題
該標題必須與Content-type標題一起使用 用於表示實體資料的大小(以位元組為單位) 其用法如下 HTTP/1.1 200 OK Date: Mon,21 Nov 2008 18:33:22 GMT Sever: Microsoft-IIS/6.0 Accept-Ranges: b
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 HTTP響應 實體標題欄位資訊 Content-type標題
在伺服器的響應訊息中含有實體資料 Content-type標題可以用於指示實體資料的個數 以及所使用的字符集 Content-type:text/html; charset=ASCII 實體資料是文字格式的HTML檔案 所使用的字符集為XLM 如果伺服器返回一幅 XLM 或其他格式
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 HTTP響應 響應狀態資訊 響應標題欄位資訊 Location標題
在響應標題欄位資訊中包含了伺服器返回除響應行以外的其他資訊 當伺服器上的資源被儲存到其他地址以後 伺服器會將新地址到客戶端 這時在響應標題欄位中會新增Location標題 該標題表示資源的實際位置 並且使絕對的URL地址 HTTP/1.1 302 OK Date: Mon,21 No
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 HTTP響應 響應狀態資訊 響應碼一些具體含義
如果使用者需要了解響碼具體情況, 請參考RFC2068 其中給出了具體響應碼的含義。 例如,響應碼的一些具體含義。 響應碼 意義 201 伺服器建立了一個新資源
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 HTTP響應 響應狀態資訊 常見的響應碼類別
響應的狀態資訊包含在響應訊息的第一行 由HTTP版本代號、響應碼和響應狀態描述文字組成 其中響應碼錶示客戶端此次請求是否成功或其他原因出錯。 使用者可以從響應碼中知道具體出錯的原因。 常見的一些響應碼類別。 部分常見的響應碼類別 響應碼 分類 意義 200~299 成功 表示請求已經被伺
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 HTTP響應
HTTP響應是指伺服器對客戶端的請求作出的反應 伺服器的響應也是通過訊息實現的。 與請求訊息一樣, 響應訊息也是分訊息頭和訊息體兩部分組成 但是兩者之間需要使用一個空白行分開。 在訊息頭中包含的響應的當前狀態和伺服器的一些資訊, 訊息體中則包含的響應的實體資料。 HTTP/1.1 200
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 HTTP請求 請求訊息 常見的訊息標題欄位
使用者在請求訊息中。 可以使用不同的標題欄位描述請求的附加資訊或者客戶端資訊 常見的訊息標題欄位 如表格所示 標題欄位 意義 Accept 客戶端希望接收的媒體型別
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 HTTP請求 請求訊息 GET的請求訊息
使用GET方式向伺服器傳送資料的請求訊息 GET /FTP.html/? name=liang& addrea=panzhihua HTTP/1.1 Host: 127.0.0.1 Accept: */* Referer: http://127.0.0.1/FTP1.html C
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 HTTP請求 請求訊息 POST的請求訊息
請求訊息是客戶端為了獲取伺服器上的資源而向伺服器傳送的訊息 該訊息結構通常分為訊息頭和訊息體 POST方式傳遞資料時, 就會用到訊息體。 下面是一個缺少訊息體的請求訊息 GET /FTP.html HTTP/1.1 Host: 127.0.0.1 Accept: */* Referer:
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 HTTP請求 POST方式
與GET方式相反 POST方式是隱式地進行資料傳送 兩者相比 POST方式比較安全, 因為使用者所傳送的資料不會被顯示在網路地址後面, 並且可以傳送較大的資料, 最大可以達到2MB 使用POST方式向伺服器提交的資料通過訊息結構體進行傳遞 一般情況下。 POST方式被用來傳遞使用者所提交
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 製作個性化介面 工具欄程式設計 新增工具欄按鈕
製作網頁瀏覽器時 使用者還需要新增一些功能。 例如 使用者重新整理上一步下一步 和瀏覽記錄等。 這些操作在VC中實現非常簡單。 首先在資源管理器中,展開Toolbar項 新增四個工具欄按鈕 按鈕的ID分別為 ID_VIEWRECORD、ID_PRE、ID_NEXT、ID_REFR
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 製作個性化介面 工具欄程式設計 OnCreate()函式
在這裡 使用者需要用到MFC中CReBar類 該類相當於一個容器 可以將多個控制元件組合在一起 程式碼如下 int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { ...//省略部分程式碼 if(dlg.m_hWnd==NU
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 製作個性化介面 工具欄程式設計 新增對話方塊到工具欄
將ID為ID_DIALOG 的對話方塊新增到工具欄中, 使用者需要將類物件設定為CMainFrame類的成員變數 首先,在CMainFrame類的標頭檔案"MainFrm.h"開頭處 新增CTooldlg類的標頭檔案“Tooldlg.h” ... //省略部分程式碼 #includ
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 製作個性化介面 工具欄程式設計 介面設計
在工程中新增一個對話方塊作為位址列等控制元件的面板 ID為 ID_DILOG 將組合框與連線按鈕放置到對話方塊面板上 介面中的各個控制元件以及屬性如表所示 控制元件ID及其屬性 控制元件ID IDC_STATIC IDC_COMBO1 IDC_BUTTON1 屬性 地址 地址輸入框
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 製作個性化介面 工具欄程式設計
在VC中製作與IE功能相似的網頁瀏覽器 可以使用MFC中的CHtmlView類 也可以使用ActiveX控制元件類CWebBrowser2實現網頁瀏覽器的開發 對於網路瀏覽器而言 工具欄是很重要的一部分 在工程中使用工具欄可以方便使用者的操作。 使用者通過工具欄上的位址列輸入網頁地址
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 製作個性化介面 如何實現收藏夾功能 新增訊息響應函式
使用者將網址新增到收藏夾以後 便可以直接單擊選單選單中的網址進行瀏覽 使用者單擊選單的訊息響應函式重要 首先在CMainFrame類的標頭檔案MainFrm.h 中定義一個彈出選單的訊息響應函式 程式碼如下 afx_msg void OnMenuClick(int nID); //定
Visual C++網路程式設計經典案例詳解 第5章 網頁瀏覽器 製作個性化介面 新增訊息響應上一步下一步重新整理瀏覽記錄函式
程式將使用者單擊處的網址設定為組合框的內容後, 單擊連線按鈕, 呼叫CMainFrame::OnMybutton()函式 現在程式已經實現了瀏覽網頁和儲存 檢視瀏覽記錄等功能 關於上一步,下一步和重新整理等功能的實現非常簡單 訊息響應函式的建立和連線按鈕的響應函式建立方法一樣 功能程式碼如下