天天看點

AliOS Things 3.3.0 : http元件介紹

概述

HTTP(HyperText Transfer Protocol)是一款用于傳輸超文本的應用層協定。AliOS Things的網絡協定棧包含了HTTP元件,提供HTTP用戶端标準能力。開發者可以通過元件API,在裝置端快速實作通過HTTP GET、POST等方法與服務端進行資料互動。例如,裝置端發起HTTP GET請求

https://www.aliyun.com/

,擷取網頁資料。

該元件支援以下功能:

HTTP GET

HTTP HEAD

HTTP POST

HTTP PUT

版權資訊

Apache 2.0 License

目錄結構

├── include
│   └── httpclient.h          # 對外頭檔案
├── internal                  # 内部頭檔案
├── package.yaml              # 編譯配置檔案
└── src
    ├── http_aos_wrapper.c    # http收發适配層
    ├── http_client.c         # http核心處理層
    ├── http_formdata.c       # http表單資料處理
    └── http_method_api.c     # http方法接口

           

依賴元件

osal_aos

mbedtls

常用配置

http的常用配置在檔案package.yaml内

CONFIG_HTTP_SECURE :是否開啟HTTPS支援,預設開啟

CONFIG_HTTP_FILE_OPERATE :是否使用檔案操作,預設關閉

http的内部配置在檔案internal/http_opts.h内

HTTPCLIENT_AUTHB_SIZE : http認證資料(使用者名、密碼)長度

#define HTTPCLIENT_AUTHB_SIZE     128
#endif

           

HTTPCLIENT_CHUNK_SIZE : http chunk塊資料大小

#define HTTPCLIENT_CHUNK_SIZE     1024
#endif

           

HTTPCLIENT_SEND_BUF_SIZE : http發送緩存大小

#define HTTPCLIENT_SEND_BUF_SIZE  512
#endif

           

HTTPCLIENT_MAX_HOST_LEN : URL中host段最大長度

#define HTTPCLIENT_MAX_HOST_LEN   64
#endif

           

HTTPCLIENT_MAX_URL_LEN : URL最大長度

#define HTTPCLIENT_MAX_URL_LEN    512
#endif

           

HTTPCLIENT_MAX_RECV_WAIT_MS : 接收逾時時間

#define HTTPCLIENT_MAX_RECV_WAIT_MS 5000
#endif

           

HTTP_PORT : HTTP預設端口

#define HTTP_PORT   80
#endif

           

HTTPS_PORT : HTTPS預設端口

#define HTTPS_PORT  443
#endif

           

API說明

參考 aos_httpclient_api

配置設定HTTP請求頭部緩存和響應緩存

AliOS Things 3.3.0 : http元件介紹

釋放HTTP請求頭部緩存和響應緩存

AliOS Things 3.3.0 : http元件介紹

重置HTTP請求頭部緩存和響應緩存

AliOS Things 3.3.0 : http元件介紹

向URL發送GET請求,等待回複。

AliOS Things 3.3.0 : http元件介紹

向URL發送POST請求,等待回複。

AliOS Things 3.3.0 : http元件介紹

向URL發送PUT請求,等待回複。

AliOS Things 3.3.0 : http元件介紹

向URL發送DELETE請求,等待回複。

AliOS Things 3.3.0 : http元件介紹

發送請求

AliOS Things 3.3.0 : http元件介紹

接收響應

AliOS Things 3.3.0 : http元件介紹

關閉連接配接

AliOS Things 3.3.0 : http元件介紹

設定請求自定義頭部

AliOS Things 3.3.0 : http元件介紹

擷取響應碼

AliOS Things 3.3.0 : http元件介紹

擷取響應頭部字段值

添加文本表單資料