国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【HarmonyOS應(yīng)用開發(fā)】HTTP數(shù)據(jù)請求(十四)

這篇具有很好參考價值的文章主要介紹了【HarmonyOS應(yīng)用開發(fā)】HTTP數(shù)據(jù)請求(十四)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

文章末尾含相關(guān)內(nèi)容源代碼

一、概述

日常生活中我們使用應(yīng)用程序看新聞、發(fā)送消息等,都需要連接到互聯(lián)網(wǎng),從服務(wù)端獲取數(shù)據(jù)。例如,新聞應(yīng)用可以從新聞服務(wù)器中獲取最新的熱點新聞,從而給用戶打造更加豐富、更加實用的體驗。

【HarmonyOS應(yīng)用開發(fā)】HTTP數(shù)據(jù)請求(十四),實戰(zhàn),前端大雜燴,http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò),harmonyos,鴻蒙
那么要實現(xiàn)這樣一種能實時從服務(wù)端獲取數(shù)據(jù)的場景,就依賴于HTTP數(shù)據(jù)請求。

二、什么是HTTP

HTTP即超文本傳輸協(xié)議(Hyper Text Transfer Protocol,HTTP)是一個簡單的請求-響應(yīng)協(xié)議。它指定了客戶端可能發(fā)送給服務(wù)器什么樣的消息以及得到什么樣的響應(yīng)。

【HarmonyOS應(yīng)用開發(fā)】HTTP數(shù)據(jù)請求(十四),實戰(zhàn),前端大雜燴,http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò),harmonyos,鴻蒙
HTTP的工作原理正如上圖所示,客戶端向服務(wù)端發(fā)出一條HTTP數(shù)據(jù)請求,服務(wù)端接收請求后向客戶端返回一些數(shù)據(jù),然后客戶端再對這些數(shù)據(jù)進行解析和處理。

三、如何發(fā)起HTTP請求

HTTP數(shù)據(jù)請求功能主要由http模塊提供,包括發(fā)起請求、中斷請求、訂閱/取消訂閱HTTP Response Header 事件等。

在進行網(wǎng)絡(luò)請求前,您需要在module.json5文件中申明網(wǎng)絡(luò)訪問權(quán)限。

{
    "module" : {
        "requestPermissions":[
           {
             "name": "ohos.permission.INTERNET"
           }
        ]
    }
}

說明

應(yīng)用訪問網(wǎng)絡(luò)需要申請ohos.permission.INTERNET權(quán)限,因為HarmonyOS提供了一種訪問控制機制即應(yīng)用權(quán)限,用來保證這些數(shù)據(jù)或功能不會被不當或惡意使用。關(guān)于應(yīng)用權(quán)限的的詳細信息開發(fā)者可以參考:訪問控制。

您可以按照以下步驟完成HTTP數(shù)據(jù)請求:

1、導(dǎo)入http模塊。

import http from '@ohos.net.http';

2、創(chuàng)建httpRequest對象。

使用createHttp()創(chuàng)建一個httpRequest對象,里面包括常用的一些網(wǎng)絡(luò)請求方法,比如request、destroy、on(‘headerReceive’)等。

let httpRequest = http.createHttp();

需要注意的是每一個httpRequest對象對應(yīng)一個http請求任務(wù),不可復(fù)用。

3、訂閱請求頭(可選)。
用于訂閱http響應(yīng)頭,此接口會比request請求先返回,可以根據(jù)業(yè)務(wù)需要訂閱此消息。

httpRequest.on('headersReceive', (header) => {
    console.info('header: ' + JSON.stringify(header));
});

4、發(fā)起http請求。

http模塊支持常用的POST和GET等方法,封裝在RequestMethod中。調(diào)用request方法發(fā)起網(wǎng)絡(luò)請求,需要傳入兩個參數(shù)。第一個是請求的url地址,第二個是可選參數(shù),類型為HttpRequestOptions,用于定義可選參數(shù)的類型和取值范圍,包含請求方式、連接超時時間、請求頭字段等。

使用Get請求,參數(shù)內(nèi)容需要拼接到URL中進行發(fā)送,如下示例中在url后面拼接了兩個自定義參數(shù),分別命名為param1和param2,值分別為value1和value2:

let url= "https://EXAMPLE_URL?param1=v1&param2=v2";
let promise = httpRequest.request(
  // 請求url地址
  url,
  {
    // 請求方式
    method: http.RequestMethod.GET,
    // 可選,默認為60s
    connectTimeout: 60000,
    // 可選,默認為60s
    readTimeout: 60000,
    // 開發(fā)者根據(jù)自身業(yè)務(wù)需要添加header字段
    header: {
      'Content-Type': 'application/json'
    }
  });

POST請求參數(shù)需要添加到extraData里面,如下示例中在extraData里面定義添加了兩個自定義參數(shù)param1和param2,值分別為value1和value2:

let url = "https://EXAMPLE_URL";
let promise = httpRequest.request(
  // 請求url地址
  url,
  {
    // 請求方式
    method: http.RequestMethod.POST,
    // 請求的額外數(shù)據(jù)。
    extraData: {
      "param1": "value1",
      "param2": "value2",
    },
    // 可選,默認為60s
    connectTimeout: 60000,
    // 可選,默認為60s
    readTimeout: 60000,
    // 開發(fā)者根據(jù)自身業(yè)務(wù)需要添加header字段
    header: {
      'Content-Type': 'application/json'
    }
  });

5、處理響應(yīng)結(jié)果。

data為網(wǎng)絡(luò)請求返回的結(jié)果,err為請求異常時返回的結(jié)果。data的類型為HttpResponse。

promise.then((data) => { 
  if (data.responseCode === http.ResponseCode.OK) {
    console.info('Result:' + data.result);
    console.info('code:' + data.responseCode);
  }
}).catch((err) => {
  console.info('error:' + JSON.stringify(err));
});

其中data.responseCode為http請求返回的狀態(tài)碼,如果狀態(tài)碼為http.ResponseCode.OK(即200),則表示請求成功,更多狀態(tài)碼可以在ResponseCode中查看。

data.result為服務(wù)器返回的業(yè)務(wù)數(shù)據(jù),開發(fā)者可以根據(jù)自身業(yè)務(wù)場景解析此數(shù)據(jù)。

案例源碼下載

【HarmonyOS應(yīng)用開發(fā)】HTTP數(shù)據(jù)請求(十四),實戰(zhàn),前端大雜燴,http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò),harmonyos,鴻蒙

新聞數(shù)據(jù)加載文章來源地址http://www.zghlxwxcb.cn/news/detail-837066.html

到了這里,關(guān)于【HarmonyOS應(yīng)用開發(fā)】HTTP數(shù)據(jù)請求(十四)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • HarmonyOS鴻蒙應(yīng)用開發(fā)——數(shù)據(jù)持久化Preferences

    HarmonyOS鴻蒙應(yīng)用開發(fā)——數(shù)據(jù)持久化Preferences

    數(shù)據(jù)持久化就是將內(nèi)存數(shù)據(jù)通過文件或者數(shù)據(jù)庫的方式保存到設(shè)備中。HarmonyOS提供兩兩種持久化方案: Preferences :主要用于保存一些配置信息,是通過文本的形式存儲的,在使用中會將文本中的數(shù)據(jù)全量加載到內(nèi)存中,不太適合存儲大量數(shù)據(jù)的場景。 數(shù)據(jù)庫 :分為兩種,一

    2024年02月05日
    瀏覽(24)
  • 鴻蒙(HarmonyOS)應(yīng)用開發(fā)——從網(wǎng)絡(luò)獲取數(shù)據(jù)(題目答案)

    1.在http模塊中,多個請求可以使用同一個httpRequest對象,httpRequest對象可以復(fù)用。 錯誤(False) 2.使用http模塊發(fā)起網(wǎng)絡(luò)請求后,可以使用destroy方法中斷網(wǎng)絡(luò)請求。 正確(True) 3.Web組件onConfirm(callback: (event?: { url: string; message: string; result: JsResult }) = boolean)事件,返回false時候觸發(fā)網(wǎng)頁

    2024年01月20日
    瀏覽(33)
  • HarmonyOS/OpenHarmony應(yīng)用開發(fā)-ArkTS語言渲染控制LazyForEach數(shù)據(jù)懶加載

    HarmonyOS/OpenHarmony應(yīng)用開發(fā)-ArkTS語言渲染控制LazyForEach數(shù)據(jù)懶加載

    LazyForEach從提供的數(shù)據(jù)源中按需迭代數(shù)據(jù),并在每次迭代過程中創(chuàng)建相應(yīng)的組件。當LazyForEach在滾動容器中使用了,框架會根據(jù)滾動容器可視區(qū)域按需創(chuàng)建組件,當組件劃出可視區(qū)域外時,框架會進行組件銷毀回收以降低內(nèi)存占用。 一、接口描述 二、IDataSource類型說明 三、

    2024年02月11日
    瀏覽(24)
  • HarmonyOS應(yīng)用開發(fā)學(xué)習筆記 UIAbility組件與UI的數(shù)據(jù)同步 EventHub、globalThis

    HarmonyOS應(yīng)用開發(fā)學(xué)習筆記 UIAbility組件與UI的數(shù)據(jù)同步 EventHub、globalThis

    1、 HarmoryOS Ability頁面的生命周期 2、 @Component自定義組件 3、HarmonyOS 應(yīng)用開發(fā)學(xué)習筆記 ets組件生命周期 4、HarmonyOS 應(yīng)用開發(fā)學(xué)習筆記 ets組件樣式定義 @Styles裝飾器:定義組件重用樣式 @Extend裝飾器:定義擴展組件樣式 5、HarmonyOS 應(yīng)用開發(fā)學(xué)習筆記 state狀態(tài)管理概述 6、HarmonyO

    2024年02月03日
    瀏覽(31)
  • 【HarmonyOS開發(fā)】HarmonyOS-應(yīng)用開發(fā)入門

    1. 【判斷題】 10/10 在Windows系統(tǒng)下載安裝DevEco Studio工具時,安裝路徑可以包含中文名。 錯誤(False) ? 2. 【判斷題】 10/10 某開發(fā)者在使用遠程真機運行應(yīng)用時,不需要對應(yīng)用進行簽名;但使用本地真機運行應(yīng)用時,必須需要對應(yīng)用進行簽名。 錯誤(False) ? 3. 【判斷題】 10/10 在

    2024年02月04日
    瀏覽(23)
  • 【HarmonyOS應(yīng)用開發(fā)】云開發(fā)(十九)

    【HarmonyOS應(yīng)用開發(fā)】云開發(fā)(十九)

    HarmonyOS 云開發(fā)是 DevEco Studio 新推出的功能,可以讓您在一個項目工程中,使用一種語言完成端側(cè)和云側(cè)功能的開發(fā)。 基于 AppGallery Connect Serverless 構(gòu)建的云側(cè)能力,讓您無需構(gòu)建和管理云端資源,隨需使用,大大提高構(gòu)建應(yīng)用/元服務(wù)的效率。 認證服務(wù): 可以為應(yīng)用快速構(gòu)建

    2024年02月21日
    瀏覽(36)
  • HarmonyOS 應(yīng)用開發(fā)入門

    HarmonyOS 應(yīng)用開發(fā)入門

    DevEco Studio Release版本為:DevEco Studio 3.1.1。 Compile SDK Release版本為:3.1.0(API 9)。 構(gòu)建方式為 HVigor,而非 Gradle。 最新版本已不再支持 (”Java、JavaScript” 、“類Web開發(fā)范式” 和 “FA 模型” )用于應(yīng)用開發(fā),因此大部分舉例都以 (“ArkTS聲明式范式” 和 “Stage 模型”)最

    2024年01月19日
    瀏覽(25)
  • 鴻蒙(HarmonyOS)應(yīng)用開發(fā)指南

    鴻蒙(HarmonyOS)應(yīng)用開發(fā)指南

    1.1 簡介 鴻蒙 (即 HarmonyOS ,開發(fā)代號 Ark ,正式名稱為華為終端鴻蒙智能設(shè)備操作系統(tǒng)軟件)是華為公司自 2012 年以來開發(fā)的一款可支持鴻蒙原生應(yīng)用和兼容 AOSP 應(yīng)用的 分布式操作系統(tǒng) 。該系統(tǒng)利用“分布式”技術(shù)將 手機、電腦、平板、電視、汽車和智能穿戴 等多款設(shè)備

    2024年02月02日
    瀏覽(59)
  • 【HarmonyOS】HarmonyOS應(yīng)用開發(fā)者高級認證題庫

    注:HarmonyOS應(yīng)用開發(fā)者高級認證考試50道題,答對40及格,此題庫有部分不清楚的選項,歡迎補充 1、HarmonyOS應(yīng)用可以兼容OpenHarmony生態(tài) 正確(True) 2、云函數(shù)打包完成后,需要到AppGallery Connect創(chuàng)建對應(yīng)函數(shù)的觸發(fā)器才可以在端側(cè)中調(diào)用 錯誤(False) 3、Ability是系統(tǒng)調(diào)度應(yīng)用的最小單

    2024年02月03日
    瀏覽(40)
  • 鴻蒙應(yīng)用開發(fā)嘗鮮:初識HarmonyOS

    鴻蒙應(yīng)用開發(fā)嘗鮮:初識HarmonyOS

    來源:華為官方網(wǎng)站 : https://developer.huawei.com/ 相信大家對鴻蒙應(yīng)用開發(fā)也不在陌生,很多身處互聯(lián)網(wǎng)行業(yè)或者不了解的人們現(xiàn)在也一定都聽說過華為鴻蒙.這里我將不再說廢話,直接步入正題 HarmonyOS應(yīng)用開發(fā)采用的是ArkTS語言,ArkTS是在TypeScript(簡稱TS)基礎(chǔ)上的拓展,而TS又是JavaScrip

    2024年02月02日
    瀏覽(35)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包