HTTP協(xié)議工作于客戶端-服務(wù)端架構(gòu)為上。瀏覽器作為HTTP客戶端通過URL向HTTP服務(wù)端即Web服務(wù)器發(fā)送所有請(qǐng)求。Web服務(wù)器根據(jù)接收到的請(qǐng)求后,向客戶端發(fā)送響應(yīng)信息。更多HTTP介紹。本文將利用串口服務(wù)器NS1的HTTP客戶端模式上傳服務(wù)器數(shù)據(jù)。
在客戶機(jī)和服務(wù)器之間進(jìn)行請(qǐng)求-響應(yīng)時(shí),兩種最常被用到的方法是:GET 和 POST。GET :從指定的資源請(qǐng)求數(shù)據(jù)。POST :向指定的資源提交要被處理的數(shù)據(jù)。HTTP 請(qǐng)求由請(qǐng)求行(request line)、請(qǐng)求頭部(header)、空行和請(qǐng)求數(shù)據(jù)四個(gè)部分組成:
請(qǐng)求行:請(qǐng)求方法、請(qǐng)求 URL、協(xié)議版本。
請(qǐng)求頭:由關(guān)鍵字/值對(duì)組成,每行一對(duì),關(guān)鍵字和值用英文冒號(hào)“:”分隔。
請(qǐng)求數(shù)據(jù):HTTP 請(qǐng)求中發(fā)送到服務(wù)器的數(shù)據(jù)。
HTTP請(qǐng)求的格式:
例如:
1:請(qǐng)求行,用來說明請(qǐng)求類型,要訪問的資源以及所使用的HTTP版本。
2:請(qǐng)求頭部。Content-Length:用來指明發(fā)送給接收方的消息主體的大小。Host:客戶端指定自己想訪問的WEB服務(wù)器的域名/IP 地址和端口號(hào)。Content-Type:WEB 服務(wù)器告訴瀏覽器自己響應(yīng)的對(duì)象的類型。
3:消息主體。
選擇“TCP創(chuàng)客云”,新建主題,主題名可任意。
在巴法云實(shí)例指南->Tcp、Mqtt、http調(diào)試工具和教程 中給出的HTTP說明:
在使用postman對(duì)創(chuàng)建的主題發(fā)送數(shù)據(jù)時(shí):
1:支持POST指令。
2:請(qǐng)求 URL為http://apis.bemfa.com/va/postmsg。
3:使用x-www-form-urlencoded或raw需要添加頭部字段Content-Type。
4:如果要上傳數(shù)據(jù)到創(chuàng)建的主題中,需要在參數(shù)中指定巴法云賬號(hào)的私鑰、創(chuàng)建主題的名稱、type類型固定為3、msg后面跟的數(shù)據(jù)就是上傳到主題中的數(shù)據(jù)。
1.使用網(wǎng)絡(luò)調(diào)試助手要給巴法云賬戶私鑰為f6fd5a9f1eff42feb7225f373efde660主題為LED發(fā)送數(shù)據(jù)TEST。
POST /va/postmsg HTTP/1.1
Host:apis.bemfa.com
Content-Type: application/x-www-form-urlencoded
Content-Length:62
uid=f6fd5a9f1eff42feb7225f373efde660&topic=LED&type=3&msg=TEST
服務(wù)器成功返回200,表明該請(qǐng)求被成功地完成,所請(qǐng)求的資源發(fā)送到客戶端。
1.狀態(tài)代碼有三位數(shù)字組成,第一個(gè)數(shù)字定義了響應(yīng)的類別,共分五種類別:
1xx:指示信息--表示請(qǐng)求已接收,繼續(xù)處理
2xx:成功--表示請(qǐng)求已被成功接收、理解、接受
3xx:重定向--要完成請(qǐng)求必須進(jìn)行更進(jìn)一步的操作
4xx:客戶端錯(cuò)誤--請(qǐng)求有語法錯(cuò)誤或請(qǐng)求無法實(shí)現(xiàn)
5xx:服務(wù)器端錯(cuò)誤--服務(wù)器未能實(shí)現(xiàn)合法的請(qǐng)求
1.一般情況下,服務(wù)器接收并處理客戶端發(fā)過來的+請(qǐng)求后會(huì)返回一個(gè)HTTP的響應(yīng)消息。HTTP響應(yīng)也由四個(gè)部分組成,分別是:狀態(tài)行、消息報(bào)頭、空行和響應(yīng)正文。
1:第一部分:狀態(tài)行,由HTTP協(xié)議版本號(hào), 狀態(tài)碼, 狀態(tài)消息 三部分組成。
2:第二部分:消息報(bào)頭,用來說明客戶端要使用的一些附加信息。
3:第三部分:空行,消息報(bào)頭后面的空行是必須的。
4:第四部分:響應(yīng)正文,服務(wù)器返回給客戶端的文本信息。
1.使用億佰特網(wǎng)絡(luò)配置助手,打開配置頁面。設(shè)置串口服務(wù)器:
1:網(wǎng)絡(luò)工作模式選擇HTTP客服端。
2:目標(biāo)IP/域名apis.bemfa.com。
3:目標(biāo)端口80。
4:HTTP URL路徑 /va/postmsg。
5:HTTP包頭 Host:apis.bemfa.com與Content-Type: application/x-www-form-urlencoded。
設(shè)置完成后保存設(shè)置、重啟設(shè)備。
1.串口服務(wù)器網(wǎng)口連接上網(wǎng)絡(luò),通過串口助手上報(bào)數(shù)據(jù),并使用平臺(tái)查詢上報(bào)數(shù)據(jù)是否成功。
2.關(guān)閉包頭返回后的接收:
1.使用網(wǎng)絡(luò)調(diào)試助手,通過GET方式請(qǐng)求百度主頁。不帶任何包頭數(shù)據(jù)也可以實(shí)現(xiàn)請(qǐng)求“百度”,并收到<HTML>數(shù)據(jù)返回,如圖所示:
1:請(qǐng)求行。
2:請(qǐng)求頭部+換行符,此時(shí)請(qǐng)求頭部為空。
3:消息主體。
2.使用串口服務(wù)器GET百度,先打開億佰特網(wǎng)絡(luò)配置助手,配置如下:
3.使用串口調(diào)試助手發(fā)送“/”,就可以收到HTTP服務(wù)器返回的數(shù)據(jù),通過對(duì)HTML(超文本標(biāo)記語言)解析就可以得到“百度”的主頁。
今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動(dòng)化的發(fā)展,提升資源利用率,更多串口服務(wù)器、數(shù)傳電臺(tái)、lora模塊等無線數(shù)傳模塊產(chǎn)品更多資料,感興趣的小伙伴可以登錄我們的億佰特官網(wǎng)進(jìn)行了解,也可以直接撥打400電話咨詢技術(shù)專員!
相關(guān)閱讀:
1、串口服務(wù)器如何配置接入阿里云MQTT環(huán)境教程
3、NE2-T1M串口服務(wù)器系列連接阿里云服務(wù)器配置教程
7 X 24 銷售服務(wù)熱線
4000-330-990深圳辦事處柯經(jīng)理:18218726658 杭州辦事處戴經(jīng)理:17512568697
常州辦事處崔經(jīng)理:15906110783 南京辦事處葛經(jīng)理:17626012283
業(yè)務(wù)郵箱:support@cdebyte.com
全國(guó)銷售投訴電話:19934352316
地址:四川省成都市高新西區(qū)西區(qū)大道199號(hào)B5棟(前臺(tái)座機(jī):028-61543675)
?? 成都億佰特電子科技有限公司【版權(quán)所有】 蜀ICP備13019384號(hào)-3