<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示

鴻蒙OS開發實戰:【網絡管理HTTP數據請求】

jf_46214456 ? 2024-04-01 16:31 ? 次閱讀

一、場景介紹

應用通過HTTP發起一個數據請求,支持常見的GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT方法。

二、 接口說明

HTTP數據請求功能主要由http模塊提供。

使用該功能需要申請ohos.permission.INTERNET權限。

涉及的接口如下表,具體的接口說明請參考API文檔。

接口名功能描述
createHttp()創建一個http請求。
request()根據URL地址,發起HTTP網絡請求。
destroy()中斷請求任務。
on(type: 'headersReceive')訂閱HTTP Response Header 事件。
off(type: 'headersReceive')取消訂閱HTTP Response Header 事件。
once('headersReceive')8+訂閱HTTP Response Header 事件,但是只觸發一次。

熟悉[鴻蒙]文檔

鴻蒙OS開發更多內容↓點擊HarmonyOSOpenHarmony技術
鴻蒙技術文檔《鴻蒙NEXT星河版開發學習文檔》

搜狗高速瀏覽器截圖20240326151450.png

三、request接口開發步驟

1.從@ohos.net.http.d.ts中導入http命名空間。

2.調用createHttp()方法,創建一個HttpRequest對象。

3.調用該對象的on()方法,訂閱http響應頭事件,此接口會比request請求先返回??梢愿鶕I務需要訂閱此消息。

4.調用該對象的request()方法,傳入http請求的url地址和可選參數,發起網絡請求。

5.按照實際業務需要,解析返回結果。

6.調用該對象的off()方法,取消訂閱http響應頭事件。

7.當該請求使用完畢時,調用destroy()方法主動銷毀。

// 引入包名
import http from '@ohos.net.http';

// 每一個httpRequest對應一個HTTP請求任務,不可復用
let httpRequest = http.createHttp();
// 用于訂閱HTTP響應頭,此接口會比request請求先返回??梢愿鶕I務需要訂閱此消息
// 從API 8開始,使用on('headersReceive', Callback)替代on('headerReceive', AsyncCallback)。 8+
httpRequest.on('headersReceive', (header) = > {
    console.info('header: ' + JSON.stringify(header));
});
httpRequest.request(
    // 填寫HTTP請求的URL地址,可以帶參數也可以不帶參數。URL地址需要開發者自定義。請求的參數可以在extraData中指定
    "EXAMPLE_URL",
    {
        method: http.RequestMethod.POST, // 可選,默認為http.RequestMethod.GET
        // 開發者根據自身業務需要添加header字段
        header: {
            'Content-Type': 'application/json'
        },
        // 當使用POST請求時此字段用于傳遞內容
        extraData: {
            "data": "data to send",
        },
        expectDataType: http.HttpDataType.STRING, // 可選,指定返回數據的類型
        usingCache: true, // 可選,默認為true
        priority: 1, // 可選,默認為1
        connectTimeout: 60000, // 可選,默認為60000ms
        readTimeout: 60000, // 可選,默認為60000ms
        usingProtocol: http.HttpProtocol.HTTP1_1, // 可選,協議類型默認值由系統自動指定
    }, (err, data) = > {
        if (!err) {
            // data.result為HTTP響應內容,可根據業務需要進行解析
            console.info('Result:' + JSON.stringify(data.result));
            console.info('code:' + JSON.stringify(data.responseCode));
            // data.header為HTTP響應頭,可根據業務需要進行解析
            console.info('header:' + JSON.stringify(data.header));
            console.info('cookies:' + JSON.stringify(data.cookies)); // 8+
        } else {
            console.info('error:' + JSON.stringify(err));
            // 取消訂閱HTTP響應頭事件
            httpRequest.off('headersReceive');
            // 當該請求使用完畢時,調用destroy方法主動銷毀
            httpRequest.destroy();
        }
    }
);
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • HTTP
    +關注

    關注

    0

    文章

    466

    瀏覽量

    30313
  • 鴻蒙系統
    +關注

    關注

    183

    文章

    2606

    瀏覽量

    65270
  • HarmonyOS
    +關注

    關注

    79

    文章

    1827

    瀏覽量

    29261
  • OpenHarmony
    +關注

    關注

    23

    文章

    3284

    瀏覽量

    15159
  • 鴻蒙OS
    +關注

    關注

    0

    文章

    128

    瀏覽量

    4279
收藏 人收藏

    評論

    相關推薦

    鴻蒙OS開發實例:【HarmonyHttpClient】網絡框架

    鴻蒙上使用的Http網絡框架,里面包含純Java實現的HttpNet,類似okhttp使用,支持同步和異步兩種請求方式;還有鴻蒙版retro
    的頭像 發表于 04-12 16:58 ?299次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b><b class='flag-5'>開發</b>實例:【HarmonyHttpClient】<b class='flag-5'>網絡</b>框架

    鴻蒙原生應用開發-網絡管理模塊總述

    一、網絡管理模塊主要提供以下功能: HTTP數據請求:通過HTTP發起一個
    發表于 04-08 09:45

    鴻蒙OS開發實例:【窺探網絡請求

    HarmonyOS 平臺中使用網絡請求,需要引入 "@ohos.net.http", 并且需要在 module.json5 文件中申請網絡權限, 即 “ohos.permission.
    的頭像 發表于 04-01 16:11 ?173次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b><b class='flag-5'>開發</b>實例:【窺探<b class='flag-5'>網絡</b><b class='flag-5'>請求</b>】

    鴻蒙原生應用開發-網絡管理HTTP數據請求

    一、場景介紹 應用通過HTTP發起一個數據請求,支持常見的GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT方法。 二、接口說明 HTTP
    發表于 03-29 17:51

    鴻蒙OS(ArkTS) 案例:【使用http網絡請求框架加載驗證碼】

    1.參數里面的 expectDataType 需要設置為?http.HttpDataType.ARRAY_BUFFER; 2. 結果轉換為ArrayBuffer,let result = responseResult.result as ArrayBuffer
    的頭像 發表于 03-27 17:35 ?720次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b>(ArkTS) 案例:【使用<b class='flag-5'>http</b><b class='flag-5'>網絡</b><b class='flag-5'>請求</b>框架加載驗證碼】

    鴻蒙開發實戰網絡請求庫【axios】

    [Axios]?,是一個基于 promise 的網絡請求庫,可以運行 node.js 和瀏覽器中。本庫基于[Axios]原庫v1.3.4版本進行適配,使其可以運行在 OpenHarmony,并沿用其現有用法和特性。
    的頭像 發表于 03-25 16:47 ?817次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>實戰</b>:<b class='flag-5'>網絡</b><b class='flag-5'>請求</b>庫【axios】

    鴻蒙實戰項目開發:【短信服務】

    數據管理 電話服務 分布式應用開發 通知與窗口管理 多媒體技術 安全技能 任務管理 WebGL 國際化開發 應用測試 DFX面向未來設計
    發表于 03-03 21:29

    鴻蒙這么大聲勢,為何遲遲看不見崗位?最新數據來了

    基礎》 ArkTS語言 安裝DevEco Studio 運用你的第一個ArkTS應用 ArkUI聲明式UI開發 .…… 《鴻蒙開發進階》 Stage模型入門 網絡
    發表于 02-29 20:53

    2024款鴻蒙OS 最新HarmonyOS Next_HarmonyOS4.0系列教程分享

    鴻蒙的出現,標志著中國科技的崛起。HarmonyOS就是我們說的華為鴻蒙系統,截止到2023年8月4日已有超過7億臺設備搭載了鴻蒙OS系統。據多家媒體報道,2024年國內有21所985
    發表于 02-28 10:29

    1月18號“純鴻蒙”千帆啟航,程序員預備!

    …… 《鴻蒙開發進階》http://qr61.cn/oWQPaX/qU3VHZO 1.Stage模型入門 2.網絡管理 3.
    發表于 01-16 22:13

    【EsDA 應用】快速實現串口轉HTTP請求

    本文將基于EsDA開發套件快速實現將串口數據轉換為HTTP請求的應用開發,實現串口設備與網絡服務
    的頭像 發表于 11-09 08:25 ?482次閱讀
    【EsDA 應用】快速實現串口轉<b class='flag-5'>HTTP</b><b class='flag-5'>請求</b>

    鴻蒙 OS 應用開發初體驗

    的操作系統平臺和開發框架。HarmonyOS 的目標是實現跨設備的無縫協同和高性能。 DevEco Studio 對標 Android Studio,開發鴻蒙 OS 應用的 IDE。
    發表于 11-02 19:38

    【中秋國慶不斷更】HarmonyOS網絡管理開發HTTP與WebSocket

    一、網絡管理開發概述 網絡管理模塊主要提供以下功能: ● ??HTTP
    發表于 09-27 15:40

    如何測試HTTP請求示例

    電子發燒友網站提供《如何測試HTTP請求示例.zip》資料免費下載
    發表于 07-13 11:35 ?1次下載
    如何測試<b class='flag-5'>HTTP</b><b class='flag-5'>請求</b>示例

    如何使用 ESP-AT實現HTTP請求

    ESP-AT作為樂鑫開發的可直接用于量產的物聯網應用固件,可以簡單完成網絡的連接,以及設備與服務器之間的數據傳輸。本文將介紹如何使用 ESP-AT實現HTTP
    的頭像 發表于 05-23 17:12 ?803次閱讀
    如何使用 ESP-AT實現<b class='flag-5'>HTTP</b><b class='flag-5'>請求</b>
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>