91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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)銷毀。

// 引入包名
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ù)的類型
        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é)議類型默認(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)銷毀
            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

    文章

    537

    瀏覽量

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

    關(guān)注

    183

    文章

    2642

    瀏覽量

    69832
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2153

    瀏覽量

    36039
  • OpenHarmony
    +關(guān)注

    關(guān)注

    33

    文章

    3952

    瀏覽量

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

    關(guān)注

    0

    文章

    193

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    1688 商品詳情 API 調(diào)用與數(shù)據(jù)解析 Python 實(shí)戰(zhàn)

    你想要的是 1688 商品詳情 API 的 Python 調(diào)用與數(shù)據(jù)解析實(shí)戰(zhàn)方案,核心是完成 API 憑證配置、接口請(qǐng)求(含簽名)、響應(yīng)數(shù)據(jù)解析、異常處理 的全流程落地,我會(huì)提供可直接
    的頭像 發(fā)表于 02-10 11:23 ?248次閱讀

    M4-R1 開(kāi)源鴻蒙(OpenHarmory)開(kāi)發(fā)板丨串口調(diào)試助手實(shí)戰(zhàn)案例

    支持與高集成度設(shè)計(jì),成為開(kāi)發(fā)者體驗(yàn)與學(xué)習(xí)鴻蒙系統(tǒng)的理想平臺(tái)。無(wú)論是智慧家居、教學(xué)實(shí)驗(yàn),還是設(shè)備通信,M4-R1都能提供穩(wěn)定可靠的開(kāi)發(fā)環(huán)境。本次分享的實(shí)戰(zhàn)案例——串口
    的頭像 發(fā)表于 12-31 11:16 ?8595次閱讀
    M4-R1 開(kāi)源<b class='flag-5'>鴻蒙</b>(OpenHarmory)<b class='flag-5'>開(kāi)發(fā)</b>板丨串口調(diào)試助手<b class='flag-5'>實(shí)戰(zhàn)</b>案例

    HTTP通信網(wǎng)關(guān)是什么?有什么功能?

    HTTP通信網(wǎng)關(guān)是連接不同網(wǎng)絡(luò)或協(xié)議的關(guān)鍵設(shè)備/服務(wù)器,在HTTP通信中扮演著協(xié)議轉(zhuǎn)換、安全加固、性能優(yōu)化等核心角色,其本質(zhì)是 實(shí)現(xiàn)不同協(xié)議或網(wǎng)絡(luò)間的
    的頭像 發(fā)表于 12-23 11:14 ?430次閱讀

    【匯思博SEEK100開(kāi)發(fā)板試用體驗(yàn)】在開(kāi)發(fā)鴻蒙OS搭建QT開(kāi)發(fā)環(huán)境

    來(lái)訪問(wèn)硬件資源,例如使用鴻蒙的設(shè)備管理 API 來(lái)獲取攝像頭設(shè)備實(shí)例,然后在 Qt 代碼中進(jìn)行調(diào)用。又例如,如果要實(shí)現(xiàn)網(wǎng)絡(luò)通信功能,可以使用 Qt 的網(wǎng)絡(luò)模塊,如 QTcpSocke
    發(fā)表于 08-24 18:34

    【匯思博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 ?766次閱讀

    鴻蒙5開(kāi)發(fā)寶藏案例分享---長(zhǎng)列表性能優(yōu)化解析

    鴻蒙長(zhǎng)列表性能優(yōu)化大揭秘!告別卡頓,實(shí)戰(zhàn)代碼解析來(lái)了! 大家好呀~今天在翻鴻蒙開(kāi)發(fā)者文檔時(shí),發(fā)現(xiàn)了個(gè) 性能優(yōu)化寶藏案例 !官方居然悄悄放出了長(zhǎng)列表卡頓的完整解決方案,實(shí)測(cè)效果炸裂!我連
    發(fā)表于 06-12 17:40

    鴻蒙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ā)寶藏案例分享---Web加載時(shí)延優(yōu)化解析

    鴻蒙開(kāi)發(fā)寶藏:Web加載完成時(shí)延優(yōu)化實(shí)戰(zhàn) 大家好呀!今天在翻鴻蒙開(kāi)發(fā)者文檔時(shí),發(fā)現(xiàn)了一個(gè)隱藏的 性能優(yōu)化寶藏區(qū) ——官方竟然悄悄提供了超多
    發(fā)表于 06-12 17:11

    鴻蒙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