一、場景介紹
應用通過HTTP發(fā)起一個數(shù)據(jù)請求,支持常見的GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT方法。
二、 接口說明
HTTP數(shù)據(jù)請求功能主要由http模塊提供。
使用該功能需要申請ohos.permission.INTERNET權(quán)限。
涉及的接口如下表,具體的接口說明請參考API文檔。
| 接口名 | 功能描述 |
|---|---|
| createHttp() | 創(chuàng)建一個http請求。 |
| request() | 根據(jù)URL地址,發(fā)起HTTP網(wǎng)絡請求。 |
| destroy() | 中斷請求任務。 |
| on(type: 'headersReceive') | 訂閱HTTP Response Header 事件。 |
| off(type: 'headersReceive') | 取消訂閱HTTP Response Header 事件。 |
| once('headersReceive')8+ | 訂閱HTTP Response Header 事件,但是只觸發(fā)一次。 |
熟悉[鴻蒙]文檔
| 鴻蒙OS開發(fā) | 更多內(nèi)容↓點擊 | HarmonyOS與OpenHarmony技術 |
|---|---|---|
| 鴻蒙技術文檔 | 《鴻蒙NEXT星河版開發(fā)學習文檔》 |

三、request接口開發(fā)步驟
1.從@ohos.net.http.d.ts中導入http命名空間。
2.調(diào)用createHttp()方法,創(chuàng)建一個HttpRequest對象。
3.調(diào)用該對象的on()方法,訂閱http響應頭事件,此接口會比request請求先返回??梢愿鶕?jù)業(yè)務需要訂閱此消息。
4.調(diào)用該對象的request()方法,傳入http請求的url地址和可選參數(shù),發(fā)起網(wǎng)絡請求。
5.按照實際業(yè)務需要,解析返回結(jié)果。
6.調(diào)用該對象的off()方法,取消訂閱http響應頭事件。
7.當該請求使用完畢時,調(diào)用destroy()方法主動銷毀。
// 引入包名
import http from '@ohos.net.http';
// 每一個httpRequest對應一個HTTP請求任務,不可復用
let httpRequest = http.createHttp();
// 用于訂閱HTTP響應頭,此接口會比request請求先返回??梢愿鶕?jù)業(yè)務需要訂閱此消息
// 從API 8開始,使用on('headersReceive', Callback)替代on('headerReceive', AsyncCallback)。 8+
httpRequest.on('headersReceive', (header) = > {
console.info('header: ' + JSON.stringify(header));
});
httpRequest.request(
// 填寫HTTP請求的URL地址,可以帶參數(shù)也可以不帶參數(shù)。URL地址需要開發(fā)者自定義。請求的參數(shù)可以在extraData中指定
"EXAMPLE_URL",
{
method: http.RequestMethod.POST, // 可選,默認為http.RequestMethod.GET
// 開發(fā)者根據(jù)自身業(yè)務需要添加header字段
header: {
'Content-Type': 'application/json'
},
// 當使用POST請求時此字段用于傳遞內(nèi)容
extraData: {
"data": "data to send",
},
expectDataType: http.HttpDataType.STRING, // 可選,指定返回數(shù)據(jù)的類型
usingCache: true, // 可選,默認為true
priority: 1, // 可選,默認為1
connectTimeout: 60000, // 可選,默認為60000ms
readTimeout: 60000, // 可選,默認為60000ms
usingProtocol: http.HttpProtocol.HTTP1_1, // 可選,協(xié)議類型默認值由系統(tǒng)自動指定
}, (err, data) = > {
if (!err) {
// data.result為HTTP響應內(nèi)容,可根據(jù)業(yè)務需要進行解析
console.info('Result:' + JSON.stringify(data.result));
console.info('code:' + JSON.stringify(data.responseCode));
// data.header為HTTP響應頭,可根據(jù)業(yè)務需要進行解析
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');
// 當該請求使用完畢時,調(diào)用destroy方法主動銷毀
httpRequest.destroy();
}
}
);
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
HTTP
+關注
關注
0文章
538瀏覽量
35552 -
鴻蒙系統(tǒng)
+關注
關注
183文章
2642瀏覽量
70110 -
HarmonyOS
+關注
關注
80文章
2157瀏覽量
36283 -
OpenHarmony
+關注
關注
33文章
3974瀏覽量
21348 -
鴻蒙OS
+關注
關注
0文章
194瀏覽量
5548
發(fā)布評論請先 登錄
相關推薦
熱點推薦
1688 商品詳情 API 調(diào)用與數(shù)據(jù)解析 Python 實戰(zhàn)
你想要的是 1688 商品詳情 API 的 Python 調(diào)用與數(shù)據(jù)解析實戰(zhàn)方案,核心是完成 API 憑證配置、接口請求(含簽名)、響應數(shù)據(jù)解析、異常處理 的全流程落地,我會提供可直接
M4-R1 開源鴻蒙(OpenHarmory)開發(fā)板丨串口調(diào)試助手實戰(zhàn)案例
支持與高集成度設計,成為開發(fā)者體驗與學習鴻蒙系統(tǒng)的理想平臺。無論是智慧家居、教學實驗,還是設備通信,M4-R1都能提供穩(wěn)定可靠的開發(fā)環(huán)境。本次分享的實戰(zhàn)案例——串口
HTTP通信網(wǎng)關是什么?有什么功能?
HTTP通信網(wǎng)關是連接不同網(wǎng)絡或協(xié)議的關鍵設備/服務器,在HTTP通信中扮演著協(xié)議轉(zhuǎn)換、安全加固、性能優(yōu)化等核心角色,其本質(zhì)是 實現(xiàn)不同協(xié)議或網(wǎng)絡間的
【匯思博SEEK100開發(fā)板試用體驗】在開發(fā)板鴻蒙OS搭建QT開發(fā)環(huán)境
來訪問硬件資源,例如使用鴻蒙的設備管理 API 來獲取攝像頭設備實例,然后在 Qt 代碼中進行調(diào)用。又例如,如果要實現(xiàn)網(wǎng)絡通信功能,可以使用 Qt 的網(wǎng)絡模塊,如 QTcpSocke
發(fā)表于 08-24 18:34
【匯思博SEEK100開發(fā)板試用體驗】04 網(wǎng)絡連接及獲取和風天氣數(shù)據(jù)
(‘dataSendProgress’)^{11+}:取消訂閱HTTP網(wǎng)絡請求數(shù)據(jù)發(fā)送進度事件。
2.4 開發(fā)步驟
從@kit.NetworkKit中導入
發(fā)表于 07-08 19:26
鴻蒙5開發(fā)寶藏案例分享---一多開發(fā)實例(音樂)
各位開發(fā)者小伙伴們好呀!今天咱們來點硬核干貨!最近在鴻蒙文檔中心挖到一座“金礦”——官方竟然暗藏了100+實戰(zhàn)案例,從分布式架構(gòu)到交互動效優(yōu)化應有盡有!這些案例不僅藏著華為工程師的私房技巧,還直接
鴻蒙5開發(fā)寶藏案例分享---長列表性能優(yōu)化解析
鴻蒙長列表性能優(yōu)化大揭秘!告別卡頓,實戰(zhàn)代碼解析來了!
大家好呀~今天在翻鴻蒙開發(fā)者文檔時,發(fā)現(xiàn)了個 性能優(yōu)化寶藏案例 !官方居然悄悄放出了長列表卡頓的完整解決方案,實測效果炸裂!我連
發(fā)表于 06-12 17:40
鴻蒙5開發(fā)寶藏案例分享---Web開發(fā)優(yōu)化案例分享
, 提前和服務器建立好Socket連接 (甚至完成TLS握手)。等用戶真要訪問時,直接在這個“VIP通道”上傳數(shù)據(jù)!
效果: 砍掉DNS解析和建連時間,讓網(wǎng)絡請求“起跑”更快。
代價: 可能提前
發(fā)表于 06-12 17:20
鴻蒙5開發(fā)寶藏案例分享---Web加載時延優(yōu)化解析
鴻蒙開發(fā)寶藏:Web加載完成時延優(yōu)化實戰(zhàn)
大家好呀!今天在翻鴻蒙開發(fā)者文檔時,發(fā)現(xiàn)了一個隱藏的 性能優(yōu)化寶藏區(qū) ——官方竟然悄悄提供了超多
發(fā)表于 06-12 17:11
鴻蒙5開發(fā)寶藏案例分享---點擊完成時延分析
?** 鴻蒙完成時延優(yōu)化實戰(zhàn)指南:讓你的應用絲滑如飛!**
在移動端開發(fā)中, 完成時延就是用戶體驗的生命線 !今天帶你深入鴻蒙完成時延優(yōu)化,揭秘官方文檔中的寶藏技巧,讓你的應用告別卡頓
發(fā)表于 06-12 17:03
鴻蒙5開發(fā)寶藏案例分享---性能體驗設計
(loadNonCriticalRes)
})
}
}
分段加載技巧 :
首屏元素≤15個
圖片使用WebP格式
避免啟動時網(wǎng)絡請求
結(jié)語:流暢是設計出來的!
看完這些案例是不是發(fā)現(xiàn)鴻蒙的性能優(yōu)化其實有
發(fā)表于 06-12 16:45
鴻蒙5開發(fā)寶藏案例分享---埋點開發(fā)實戰(zhàn)指南
鴻蒙埋點開發(fā)寶藏指南:官方案例實戰(zhàn)解析,輕松搞定數(shù)據(jù)追蹤!
大家好呀!我是HarmonyOS開發(fā)路上的探索者。最近在折騰應用埋點時,意外發(fā)現(xiàn)
發(fā)表于 06-12 16:30
鴻蒙5開發(fā)寶藏案例分享---切面編程實戰(zhàn)揭秘
鴻蒙切面編程(AOP)實戰(zhàn)指南:隱藏的寶藏功能大揭秘!
大家好!今天在翻鴻蒙開發(fā)者文檔時,意外發(fā)現(xiàn)了官方埋藏的「切面編程」寶藏案例!實際開發(fā)
發(fā)表于 06-12 16:21
鴻蒙5開發(fā)寶藏案例分享---應用架構(gòu)實戰(zhàn)技巧
程(也叫UI線程),但耗時操作(網(wǎng)絡請求/數(shù)據(jù)庫讀寫)需放在子線程。官方推薦用 **<span class=\"ne-text\">
發(fā)表于 06-12 16:14
在KaihongOS應用開發(fā)中,如何通過HTTP發(fā)起一個數(shù)據(jù)請求
Http
在KaihongOS應用開發(fā)中,可以通過HTTP發(fā)起一個數(shù)據(jù)請求,支持常見的GET、POST、OPTIONS、HEAD、PUT、
發(fā)表于 05-08 06:44
鴻蒙OS開發(fā)實戰(zhàn):【網(wǎng)絡管理HTTP數(shù)據(jù)請求】
評論