跟著小白一起學鴻蒙--]簡單Http客戶端(十二)

在《#跟著小白一起學鴻蒙# [二] 第一個OpenHarmony程序》我們熟悉了如何在開源鴻蒙開發(fā)應用,并通過hdc工具拷貝至開發(fā)板運行。但是那時候我們只是打印了最簡單的hello world,接下來我們就講開發(fā)最常用的部分,一個簡單的http客戶端;
概述
- HTTP 是一個基于 TCP/IP 通信協(xié)議來傳遞數據(HTML 文件、圖片文件、查詢結果等)。
- HTTP是一個屬于應用層的面向對象的協(xié)議,由于其簡捷、快速的方式,適用于分布式超媒體信息系統(tǒng)。它于1990年提出,經過幾年的使用與發(fā)展,得到不斷地完善和擴展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的規(guī)范化工作正在進行之中,而且HTTP-NG(Next Generation of HTTP)的建議已經提出。
- HTTP協(xié)議工作于客戶端-服務端架構為上。瀏覽器作為HTTP客戶端通過URL向HTTP服務端即WEB服務器發(fā)送所有請求。Web服務器根據接收到的請求后,向客戶端發(fā)送響應信息。
HTTP請求消息Request
- 請求數據結構如下
![#沖刺創(chuàng)作新星# #跟著小白一起學鴻蒙# [十二]簡單Http客戶端-開源基礎軟件社區(qū) #沖刺創(chuàng)作新星# #跟著小白一起學鴻蒙# [十二]簡單Http客戶端-開源基礎軟件社區(qū)](https://dl-harmonyos.51cto.com/images/202210/761f290456a7816647750358c03a7a22557878.png?x-oss-process=image/resize,w_466,h_165)
- 一個Get的sample
在瀏覽器輸入www.baidu.com然后回車即可看到瀏覽器顯示了百度的頁面,按F12可以看到具體內容:
![#沖刺創(chuàng)作新星# #跟著小白一起學鴻蒙# [十二]簡單Http客戶端-開源基礎軟件社區(qū) #沖刺創(chuàng)作新星# #跟著小白一起學鴻蒙# [十二]簡單Http客戶端-開源基礎軟件社區(qū)](https://dl-harmonyos.51cto.com/images/202210/65884d94498efc11918753f56c7698890c6c4a.png?x-oss-process=image/resize,w_601,h_777)
??上圖里我們可以看到在請求的url是www.baidu.com??,請求的方法是GET,服務器的IP地址是180.101.49.14:443(https,若是http就是80)。
- 一個Post的sample
![#沖刺創(chuàng)作新星# #跟著小白一起學鴻蒙# [十二]簡單Http客戶端-開源基礎軟件社區(qū) #沖刺創(chuàng)作新星# #跟著小白一起學鴻蒙# [十二]簡單Http客戶端-開源基礎軟件社區(qū)](https://dl-harmonyos.51cto.com/images/202210/374148e07f16db7471c958ac80eeaa4afb7c23.png?x-oss-process=image/resize,w_601,h_774)
- 上圖里我們可以看到在請求的url是https://cysz.hopethink.com/qhhsd/app/getH5HsdList,請求的方法是POST,服務器的IP地址是114.215.124.251:443(https,若是http就是80),請求內容類型application/x-www-form-urlencoded;charset=UTF-8,請求數據長度84,請求數據keyword=&streetId=&pageNum=1&pageSize=1&ip=222.95.30.84。
此樣例參考小熊派設計,使用小熊派HM_Micro開發(fā)板進行驗證。
應用開發(fā)流程
建立Build.gn。
建立helloworld.c。
添加httpget。
httppost:
在main里增加方法和頭文件。
- 頭文件
- 方法
測試結果:
Get測試結果:

Post測試結果:

總結
- http是建立在socket之上的數據結構化應用協(xié)議,可以通過拼socket包實現(xiàn)所有功能。
- 之后我們可以利用此接口實現(xiàn)一個核算地圖的界面應用。





































