国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

HTTP和GET命令是什么

454398 ? 來源:工程師吳畏 ? 2019-07-31 09:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

當任何兩個電子設備需要相互通信時,它們必須使用通用協議或消息系統。如果一個設備嘗試使用協議A發送消息而另一個設備正在使用協議B,則這兩個設備永遠不能交換數據(他們會將對方的消息視為垃圾)。因此,為了使互聯網正常運行,設備必須使用通用協議進行通信,這就是IP或互聯網協議的用武之地。

IP本身相當復雜,由幀,標題,位置組成,等,但幸運的是,大多數互聯網控制器,如以太網IC和Wi-Fi適配器自動處理協議。這通常意味著用戶只需要發送簡單的命令,例如“打開套接字到IP設備”和“發送此數據包”。

HTTP和GET命令是什么

UDP Internet協議

但是,IP只是通過打開發送器和接收器上的套接字來處理物理通信鏈路(因此可以傳輸二進制數據)。理解這一點的一種簡單方法是將IP視為物理鏈接兩個設備的系統(例如使用以太網電纜連接兩臺計算機),因此當一臺設備發出兩位數據時,另一臺設備將看到相同的兩臺相同的數據位。要讓兩個設備了解這些位實際意味著什么,我們需要使用消息傳遞協議。雖然互聯網上使用了許多協議,但最常見的協議稱為HTTP。

HTTP或超文本傳輸協議定義了如何解釋通過兩個設備之間的套接字發送/接收的數據。 HTTP(HTTPS是加密的安全版本),是現有的每個網站上使用的協議,非常簡單。但HTTP并不僅限于網站。我們也可以將它用于物聯網應用,這就是你現在需要學習的原因!

為什么HTTP如此驚人

HTTP是一個了不起的協議,原因如下:

所有消息是ASCII文本格式(非常適合數據大小和易用性)

所有行都以car 返回換行符(0x0A 0x0D或\ r \ n)終止

所有消息都“按原樣”并且根本沒有摻假(即原始文本)

可以使用字符串數據類型在代碼中輕松實現

當客戶端(例如PC或平板電腦)想要打開網頁(例如,index.html)時,客戶端首先需要打開一個套接字才能連接到端口80上有問題的服務器。

在本文中,我們將使用The Gentleman Maker的MicroPython代碼:All About Circuits上的IoT Teapotproject。這段代碼不是HTTP,而是IP,它是我們的客戶端和服務器連接在一起的。

第一行創建一個名為sock的套接字對象,第二行獲取網站的IP地址我們想要連接到端口80(因為它可以動態更改),最后一行創建一個地址對象,包括服務器的IP地址和端口號。您需要更改的唯一參數是“iot.yourwebsite.co.uk”到您要連接的任何網站。

知道IP地址,是時候打開客戶端和服務器之間的連接。使用下面顯示的命令很容易做到:

如果一切按計劃進行,您現在應該在客戶端和服務器之間建立了鏈接。此時,您可以使用sock.send(此處為您的數據)通過套接字發送數據,但如果服務器不理解數據,則會響應錯誤代碼。那么,讓我們學習如何使用GET命令請求數據!

**注意:確保您通過套接字發送的任何數據都被編碼為二進制格式,因為MicroPython中的套接字只發送二進制數據!

GET命令

GET是用于指令的命令請求網頁或文件內容,例如.html,.htm和.txt。 GET消息至少包含三行(所有行都以回車換行符終止):

GET 《您想要的文件》 HTTP/1.1 \ r \ n

主持人:《網站域名》 \ r \ n

\ r \ n

第一行以GET,然后是需要的文件。例如,如果我們想要index.html文件,我們將用/index.html替換上面顯示的文本。第二行是主機域,例如maker.pro,但不包括http或www。最后一行是一個空行,必須是空的!這表示消息結束,服務器將識別它現在需要處理GET請求。完整的消息和使其工作的代碼如下所示。

HTTP響應

發送請求后,服務器將處理該消息,然后發送響應。響應將包含三個主要部分:

成功/錯誤代碼

元數據

請求的文件內容

為了更好地理解響應內容,讓我們看一下茶壺項目的GET請求。

成功/錯誤代碼是以黃色突出顯示的第一行,如果請求成功或失敗,則通知客戶端。此行上的第二個數字(在本例中為200)是響應代碼,可用于確定是否出現錯誤(非常常見的錯誤代碼為404,這意味著所請求的文件不存在)。所以讓我們看看一些常見的錯誤代碼。

200 - 好的 - 一切順利:)

400 - 錯誤請求

401 - 未經授權的訪問

403 - 禁止訪問

404 - 未找到

408 - 請求超時

429 - 請求過多

500 - 內部服務器錯誤

502 - 錯誤網關

下一部分數據(以藍色突出顯示)是元數據,其中包括當前日期/時間,服務器類型,編碼方法,數據類型和數據長度等信息。最后一塊數據(以綠色突出顯示)是所請求文件的內容。

POST命令

我們將看到的第二個命令是POST命令,它用于將數據發送到服務器。在處理需要上傳傳感器數據或命令以控制其他設備的物聯網設備時,這非常有用。通常,POST用于將數據發送到php腳本文件,然后該腳本文件可以根據提交的數據的值執行操作。那么讓我們看看我們如何將一些變量發送到php頁面!

和以前一樣,第一行有POST命令和我們發送的頁面數據到。接下來的幾行(以藍色突出顯示)是元數據,其中包括正在發送的內容類型及其大小(請記住,在內容長度之后需要有一個空行),最后一行是我們的數據發送。在這種情況下,php腳本將接收兩個名為temperature(其值為10)和濕度(其值為20)的變量。

結論

這篇文章只是在HTTP權力的表面上擦除。通過在PHP中編碼網站,添加登錄頁面以及了解錯誤代碼,我們可以使任何支持互聯網的設備從互聯網獲取信息并將數據上傳到網站。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • HTTP
    +關注

    關注

    0

    文章

    537

    瀏覽量

    35388
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    HTTP物聯網網關是什么?有什么功能?

    HTTP物聯網網關是連接物聯網設備與云端平臺的核心設備,它以HTTP協議為基礎,實現設備與云端之間的數據交互,并具備協議轉換、數據預處理、安全管理和設備管理等功能 。以下是詳細介紹: 一、核心定義
    的頭像 發表于 12-24 11:33 ?327次閱讀
    <b class='flag-5'>HTTP</b>物聯網網關是什么?有什么功能?

    HTTP通信網關是什么?有什么功能?

    的詳細說明: 核心功能 協議轉換(核心角色) 場景 :當客戶端使用HTTP協議請求非HTTP服務(如FTP、數據庫查詢)時,網關作為“翻譯器”將HTTP請求轉換為目標協議(如FTP命令
    的頭像 發表于 12-23 11:14 ?440次閱讀

    使用HTTP實現IAP的方法

    使用 HTTP 協議進行固件升級沒有使用 TFTP 常見,但是在需要通過 Internet 進行遠程編程時,這種解決方案就顯得極為有用。這時,需要使用 TCP 傳輸協議來實現 http 服務
    發表于 12-16 06:18

    大彩講堂:VisualHMI-LUA教程-set_bit/get_bit函數應用

    set_bit/get_bit函數應用
    的頭像 發表于 08-31 17:05 ?838次閱讀
    大彩講堂:VisualHMI-LUA教程-set_bit/<b class='flag-5'>get</b>_bit函數應用

    Linux基礎命令which詳解

    在Linux系統中,which命令用于查找并顯示指定命令的可執行文件路徑。這對于系統管理員和開發人員來說是一個非常有用的工具,可以幫助定位命令所在的位置,確認命令是否已正確安裝,并且能
    的頭像 發表于 07-29 17:58 ?859次閱讀

    解析K8S實用命令

    前言: 作為運維工程師,掌握 Kubernetes 命令行工具是日常工作的核心技能。本文將深入解析 K8S 最實用的命令,從基礎操作到高級技巧,助你成為容器化集群管理專家。
    的頭像 發表于 07-24 14:07 ?878次閱讀

    一文掌握Linux命令

    作為一名運維工程師,熟練掌握Linux命令是基本功中的基本功。無論是日常工作中的系統維護,還是面試時的技術考核,Linux命令都是繞不開的核心技能。本文將從實戰角度出發,系統梳理運維工程師必須掌握的Linux命令,并結合實際場景
    的頭像 發表于 07-22 15:23 ?628次閱讀

    PLC通過智能網關做HTTP協議通訊,先取得token后再提交獲取JSON格式的數據文件

    文件的字段與PLC寄存器地址等參數即可。 智能網關IGT-DSER支持POST/GET/PUT等多種方法,可同時作為HTTP協議的客戶端和服務端,支持多設備同時接入智能網關,對接局域網
    的頭像 發表于 06-17 11:28 ?820次閱讀
    PLC通過智能網關做<b class='flag-5'>HTTP</b>協議通訊,先取得token后再提交獲取JSON格式的數據文件

    SSH常用命令詳解

    SSH常用命令詳解
    的頭像 發表于 06-04 11:30 ?2029次閱讀

    如何使用Traceroute命令

    以下是如何使用 traceroute 命令的詳細指南,包括其語法、選項和實際示例。
    的頭像 發表于 06-04 11:28 ?2253次閱讀

    Docker Volume管理命令大全

    Docker Volume管理命令大全
    的頭像 發表于 05-28 17:14 ?904次閱讀

    不用聯網不用編程,PLC通過智能網關快速實現HTTP協議JSON格式與MES等系統平臺雙向數據通訊

    智能網關IGT-DSER支持POST/GET/PUT等多種方法,可同時作為HTTP協議的客戶端和服務端。作為客戶端通訊時將JSON文件提交給HTTP的服務端, 如果服務端有返回的JSON,網關
    的頭像 發表于 05-13 14:40 ?1204次閱讀
    不用聯網不用編程,PLC通過智能網關快速實現<b class='flag-5'>HTTP</b>協議JSON格式與MES等系統平臺雙向數據通訊

    基于RK3576開發板的http/https通訊

    主要區別在于HTTPS需要CA證書、使用加密傳輸,且端口號通常為443,而HTTP為80。HTTP/HTTPS通訊中,客戶端發送請求報文,服務器返回響應報文,請求方法常見有GET和POST。URL(統一
    的頭像 發表于 05-10 11:24 ?1861次閱讀
    基于RK3576開發板的<b class='flag-5'>http</b>/https通訊

    Linux常用命令大全

    Linux常用命令是指在Linux操作系統中廣泛使用的命令工具,這些命令工具可以完成各種不同的任務,如管理文件和目錄、操作進程、網絡通信、軟件安裝等。
    的頭像 發表于 05-03 18:08 ?1878次閱讀

    netstat命令怎么看被監控?

    要使用netstat命令查看網絡連接狀態并判斷是否被監控,可以參考以下步驟和命令: 1、查看所有監聽端口 使用以下命令查看系統上所有監聽的端口及其對應的進程: sudo netstat -tulpn
    的頭像 發表于 04-16 20:36 ?2101次閱讀