跟著小白一起學(xué)鴻蒙--]簡(jiǎn)單Http客戶端(十二)
??想了解更多關(guān)于開(kāi)源的內(nèi)容,請(qǐng)?jiān)L問(wèn):??
??51CTO 開(kāi)源基礎(chǔ)軟件社區(qū)??
在《#跟著小白一起學(xué)鴻蒙# [二] 第一個(gè)OpenHarmony程序》我們熟悉了如何在開(kāi)源鴻蒙開(kāi)發(fā)應(yīng)用,并通過(guò)hdc工具拷貝至開(kāi)發(fā)板運(yùn)行。但是那時(shí)候我們只是打印了最簡(jiǎn)單的hello world,接下來(lái)我們就講開(kāi)發(fā)最常用的部分,一個(gè)簡(jiǎn)單的http客戶端;
概述
- HTTP 是一個(gè)基于 TCP/IP 通信協(xié)議來(lái)傳遞數(shù)據(jù)(HTML 文件、圖片文件、查詢結(jié)果等)。
- HTTP是一個(gè)屬于應(yīng)用層的面向?qū)ο蟮膮f(xié)議,由于其簡(jiǎn)捷、快速的方式,適用于分布式超媒體信息系統(tǒng)。它于1990年提出,經(jīng)過(guò)幾年的使用與發(fā)展,得到不斷地完善和擴(kuò)展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的規(guī)范化工作正在進(jìn)行之中,而且HTTP-NG(Next Generation of HTTP)的建議已經(jīng)提出。
- HTTP協(xié)議工作于客戶端-服務(wù)端架構(gòu)為上。瀏覽器作為HTTP客戶端通過(guò)URL向HTTP服務(wù)端即WEB服務(wù)器發(fā)送所有請(qǐng)求。Web服務(wù)器根據(jù)接收到的請(qǐng)求后,向客戶端發(fā)送響應(yīng)信息。
HTTP請(qǐng)求消息Request
- 請(qǐng)求數(shù)據(jù)結(jié)構(gòu)如下
- 一個(gè)Get的sample
在瀏覽器輸入www.baidu.com然后回車即可看到瀏覽器顯示了百度的頁(yè)面,按F12可以看到具體內(nèi)容:
??上圖里我們可以看到在請(qǐng)求的url是www.baidu.com??,請(qǐng)求的方法是GET,服務(wù)器的IP地址是180.101.49.14:443(https,若是http就是80)。
- 一個(gè)Post的sample
- 上圖里我們可以看到在請(qǐng)求的url是https://cysz.hopethink.com/qhhsd/app/getH5HsdList,請(qǐng)求的方法是POST,服務(wù)器的IP地址是114.215.124.251:443(https,若是http就是80),請(qǐng)求內(nèi)容類型application/x-www-form-urlencoded;charset=UTF-8,請(qǐng)求數(shù)據(jù)長(zhǎng)度84,請(qǐng)求數(shù)據(jù)keyword=&streetId=&pageNum=1&pageSize=1&ip=222.95.30.84。
此樣例參考小熊派設(shè)計(jì),使用小熊派HM_Micro開(kāi)發(fā)板進(jìn)行驗(yàn)證。
應(yīng)用開(kāi)發(fā)流程
建立Build.gn。
建立helloworld.c。
添加httpget。
httppost:
在main里增加方法和頭文件。
- 頭文件
- 方法
測(cè)試結(jié)果:
Get測(cè)試結(jié)果:
Post測(cè)試結(jié)果:
總結(jié)
- http是建立在socket之上的數(shù)據(jù)結(jié)構(gòu)化應(yīng)用協(xié)議,可以通過(guò)拼socket包實(shí)現(xiàn)所有功能。
- 之后我們可以利用此接口實(shí)現(xiàn)一個(gè)核算地圖的界面應(yīng)用。
??想了解更多關(guān)于開(kāi)源的內(nèi)容,請(qǐng)?jiān)L問(wèn):??