99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙OS開(kāi)發(fā)實(shí)戰(zhàn):【網(wǎng)絡(luò)管理HTTP數(shù)據(jù)請(qǐng)求】

jf_46214456 ? 2024-04-01 16:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、場(chǎng)景介紹

應(yīng)用通過(guò)HTTP發(fā)起一個(gè)數(shù)據(jù)請(qǐng)求,支持常見(jiàn)的GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT方法。

二、 接口說(shuō)明

HTTP數(shù)據(jù)請(qǐng)求功能主要由http模塊提供。

使用該功能需要申請(qǐng)ohos.permission.INTERNET權(quán)限。

涉及的接口如下表,具體的接口說(shuō)明請(qǐng)參考API文檔。

接口名功能描述
createHttp()創(chuàng)建一個(gè)http請(qǐng)求。
request()根據(jù)URL地址,發(fā)起HTTP網(wǎng)絡(luò)請(qǐng)求。
destroy()中斷請(qǐng)求任務(wù)。
on(type: 'headersReceive')訂閱HTTP Response Header 事件。
off(type: 'headersReceive')取消訂閱HTTP Response Header 事件。
once('headersReceive')8+訂閱HTTP Response Header 事件,但是只觸發(fā)一次。

熟悉[鴻蒙]文檔

鴻蒙OS開(kāi)發(fā)更多內(nèi)容↓點(diǎn)擊HarmonyOSOpenHarmony技術(shù)
鴻蒙技術(shù)文檔《鴻蒙NEXT星河版開(kāi)發(fā)學(xué)習(xí)文檔》

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

三、request接口開(kāi)發(fā)步驟

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

2.調(diào)用createHttp()方法,創(chuàng)建一個(gè)HttpRequest對(duì)象。

3.調(diào)用該對(duì)象的on()方法,訂閱http響應(yīng)頭事件,此接口會(huì)比request請(qǐng)求先返回??梢愿鶕?jù)業(yè)務(wù)需要訂閱此消息。

4.調(diào)用該對(duì)象的request()方法,傳入http請(qǐng)求的url地址和可選參數(shù),發(fā)起網(wǎng)絡(luò)請(qǐng)求。

5.按照實(shí)際業(yè)務(wù)需要,解析返回結(jié)果。

6.調(diào)用該對(duì)象的off()方法,取消訂閱http響應(yīng)頭事件。

7.當(dāng)該請(qǐng)求使用完畢時(shí),調(diào)用destroy()方法主動(dòng)銷(xiāo)毀。

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

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

    關(guān)注

    0

    文章

    525

    瀏覽量

    33494
  • 鴻蒙系統(tǒng)
    +關(guān)注

    關(guān)注

    183

    文章

    2642

    瀏覽量

    68080
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2126

    瀏覽量

    33012
  • OpenHarmony
    +關(guān)注

    關(guān)注

    29

    文章

    3853

    瀏覽量

    18594
  • 鴻蒙OS
    +關(guān)注

    關(guān)注

    0

    文章

    191

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    【匯思博SEEK100開(kāi)發(fā)板試用體驗(yàn)】04 網(wǎng)絡(luò)連接及獲取和風(fēng)天氣數(shù)據(jù)

    (‘dataSendProgress’)^{11+}:取消訂閱HTTP網(wǎng)絡(luò)請(qǐng)求數(shù)據(jù)發(fā)送進(jìn)度事件。 2.4 開(kāi)發(fā)步驟 從@kit.NetworkKit中導(dǎo)入
    發(fā)表于 07-08 19:26

    鴻蒙5開(kāi)發(fā)寶藏案例分享---一多開(kāi)發(fā)實(shí)例(音樂(lè))

    各位開(kāi)發(fā)者小伙伴們好呀!今天咱們來(lái)點(diǎn)硬核干貨!最近在鴻蒙文檔中心挖到一座“金礦”——官方竟然暗藏了100+實(shí)戰(zhàn)案例,從分布式架構(gòu)到交互動(dòng)效優(yōu)化應(yīng)有盡有!這些案例不僅藏著華為工程師的私房技巧,還直接
    的頭像 發(fā)表于 06-30 11:54 ?335次閱讀

    鴻蒙5開(kāi)發(fā)寶藏案例分享---Web開(kāi)發(fā)優(yōu)化案例分享

    , 提前和服務(wù)器建立好Socket連接 (甚至完成TLS握手)。等用戶真要訪問(wèn)時(shí),直接在這個(gè)“VIP通道”上傳數(shù)據(jù)! 效果: 砍掉DNS解析和建連時(shí)間,讓網(wǎng)絡(luò)請(qǐng)求“起跑”更快。 代價(jià): 可能提前
    發(fā)表于 06-12 17:20

    鴻蒙5開(kāi)發(fā)寶藏案例分享---點(diǎn)擊完成時(shí)延分析

    ?** 鴻蒙完成時(shí)延優(yōu)化實(shí)戰(zhàn)指南:讓你的應(yīng)用絲滑如飛!** 在移動(dòng)端開(kāi)發(fā)中, 完成時(shí)延就是用戶體驗(yàn)的生命線 !今天帶你深入鴻蒙完成時(shí)延優(yōu)化,揭秘官方文檔中的寶藏技巧,讓你的應(yīng)用告別卡頓
    發(fā)表于 06-12 17:03

    鴻蒙5開(kāi)發(fā)寶藏案例分享---性能體驗(yàn)設(shè)計(jì)

    (loadNonCriticalRes) }) } } 分段加載技巧 : 首屏元素≤15個(gè) 圖片使用WebP格式 避免啟動(dòng)時(shí)網(wǎng)絡(luò)請(qǐng)求 結(jié)語(yǔ):流暢是設(shè)計(jì)出來(lái)的! 看完這些案例是不是發(fā)現(xiàn)鴻蒙的性能優(yōu)化其實(shí)有
    發(fā)表于 06-12 16:45

    鴻蒙5開(kāi)發(fā)寶藏案例分享---埋點(diǎn)開(kāi)發(fā)實(shí)戰(zhàn)指南

    鴻蒙埋點(diǎn)開(kāi)發(fā)寶藏指南:官方案例實(shí)戰(zhàn)解析,輕松搞定數(shù)據(jù)追蹤! 大家好呀!我是HarmonyOS開(kāi)發(fā)路上的探索者。最近在折騰應(yīng)用埋點(diǎn)時(shí),意外發(fā)現(xiàn)
    發(fā)表于 06-12 16:30

    鴻蒙5開(kāi)發(fā)寶藏案例分享---切面編程實(shí)戰(zhàn)揭秘

    鴻蒙切面編程(AOP)實(shí)戰(zhàn)指南:隱藏的寶藏功能大揭秘! 大家好!今天在翻鴻蒙開(kāi)發(fā)者文檔時(shí),意外發(fā)現(xiàn)了官方埋藏的「切面編程」寶藏案例!實(shí)際開(kāi)發(fā)
    發(fā)表于 06-12 16:21

    鴻蒙5開(kāi)發(fā)寶藏案例分享---應(yīng)用架構(gòu)實(shí)戰(zhàn)技巧

    程(也叫UI線程),但耗時(shí)操作(網(wǎng)絡(luò)請(qǐng)求/數(shù)據(jù)庫(kù)讀寫(xiě))需放在子線程。官方推薦用 **<span class=\"ne-text\">
    發(fā)表于 06-12 16:14

    在KaihongOS應(yīng)用開(kāi)發(fā)中,如何通過(guò)HTTP發(fā)起一個(gè)數(shù)據(jù)請(qǐng)求

    Http 在KaihongOS應(yīng)用開(kāi)發(fā)中,可以通過(guò)HTTP發(fā)起一個(gè)數(shù)據(jù)請(qǐng)求,支持常見(jiàn)的GET、POST、OPTIONS、HEAD、PUT、
    發(fā)表于 05-08 06:44

    服務(wù)器如何處理 HTTP 請(qǐng)求

    服務(wù)器處理HTTP請(qǐng)求的過(guò)程是一個(gè)有序且復(fù)雜的流程,通常涉及多個(gè)步驟。以下是服務(wù)器處理HTTP請(qǐng)求的具體步驟: 監(jiān)聽(tīng)端口 :HTTP服務(wù)器在
    的頭像 發(fā)表于 12-30 09:37 ?686次閱讀

    如何調(diào)試 HTTP 請(qǐng)求和響應(yīng)

    調(diào)試HTTP請(qǐng)求和響應(yīng)是Web開(kāi)發(fā)網(wǎng)絡(luò)編程中的一個(gè)重要技能。以下是一些步驟和工具,可以幫助你調(diào)試HTTP
    的頭像 發(fā)表于 12-30 09:28 ?1228次閱讀

    如何使用 HTTP 協(xié)議進(jìn)行數(shù)據(jù)傳輸

    在互聯(lián)網(wǎng)時(shí)代,數(shù)據(jù)傳輸是信息交換的基礎(chǔ)。HTTP協(xié)議作為最常用的數(shù)據(jù)傳輸協(xié)議之一,支撐著全球數(shù)十億用戶的數(shù)據(jù)交互。 HTTP協(xié)議的基本概念
    的頭像 發(fā)表于 12-30 09:24 ?1558次閱讀

    鴻蒙Flutter實(shí)戰(zhàn):14-現(xiàn)有Flutter 項(xiàng)目支持鴻蒙 II

    分別安裝官方的3.22版本,以及鴻蒙社區(qū)的 3.22.0 版本 3.搭建 Flutter鴻蒙開(kāi)發(fā)環(huán)境 參考文章《鴻蒙Flutter實(shí)戰(zhàn):0
    發(fā)表于 12-26 14:59

    鴻蒙Flutter實(shí)戰(zhàn):08-如何調(diào)試代碼

    # 鴻蒙Flutter實(shí)戰(zhàn):如何調(diào)試代碼 ## 1.環(huán)境搭建 參考文章[鴻蒙Flutter實(shí)戰(zhàn):01-搭建開(kāi)發(fā)環(huán)境](https://g
    發(fā)表于 10-23 16:29

    鴻蒙Flutter實(shí)戰(zhàn):07混合開(kāi)發(fā)

    # 鴻蒙Flutter實(shí)戰(zhàn):混合開(kāi)發(fā) 鴻蒙Flutter混合開(kāi)發(fā)主要有兩種形式。 ## 1.基于har 將flutter module
    發(fā)表于 10-23 16:00