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

HarmonyOS ArkTS HTTP數(shù)據(jù)請(qǐng)求(九)

這篇具有很好參考價(jià)值的文章主要介紹了HarmonyOS ArkTS HTTP數(shù)據(jù)請(qǐng)求(九)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1 概述

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

那么要實(shí)現(xiàn)這樣一種能實(shí)時(shí)從服務(wù)端獲取數(shù)據(jù)的場(chǎng)景,就依賴于HTTP數(shù)據(jù)請(qǐng)求。

2 什么是HTTP

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

arkts發(fā)送請(qǐng)求,HarmonyOS,http,網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)

HTTP的工作原理正如上圖所示,客戶端向服務(wù)端發(fā)出一條HTTP數(shù)據(jù)請(qǐng)求,服務(wù)端接收請(qǐng)求后向客戶端返回一些數(shù)據(jù),然后客戶端再對(duì)這些數(shù)據(jù)進(jìn)行解析和處理。

3 如何發(fā)起HTTP請(qǐng)求

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

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

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

4、說(shuō)明

應(yīng)用訪問(wèn)網(wǎng)絡(luò)需要申請(qǐng)ohos.permission.INTERNET權(quán)限,因?yàn)镠armonyOS提供了一種訪問(wèn)控制機(jī)制即應(yīng)用權(quán)限,用來(lái)保證這些數(shù)據(jù)或功能不會(huì)被不當(dāng)或惡意使用。

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

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

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

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

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

let httpRequest = http.createHttp();

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

3、訂閱請(qǐng)求頭(可選)。

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

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

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

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

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

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

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

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

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

data為網(wǎng)絡(luò)請(qǐng)求返回的結(jié)果,err為請(qǐng)求異常時(shí)返回的結(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請(qǐng)求返回的狀態(tài)碼,如果狀態(tài)碼為http.ResponseCode.OK(即200),則表示請(qǐng)求成功。

data.result為服務(wù)器返回的業(yè)務(wù)數(shù)據(jù),開發(fā)者可以根據(jù)自身業(yè)務(wù)場(chǎng)景解析此數(shù)據(jù)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-775264.html

到了這里,關(guān)于HarmonyOS ArkTS HTTP數(shù)據(jù)請(qǐng)求(九)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 【HarmonyOS開發(fā)】ArkTs使用Http封裝

    【HarmonyOS開發(fā)】ArkTs使用Http封裝

    @ohos/axios @ohos/retrofit @ohos/httpclient @ohos.net.http 本模塊提供HTTP數(shù)據(jù)請(qǐng)求能力。應(yīng)用可以通過(guò)HTTP發(fā)起一個(gè)數(shù)據(jù)請(qǐng)求,支持常見(jiàn)的GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT方法。 http.createHttp(創(chuàng)建請(qǐng)求實(shí)例任務(wù)); request(請(qǐng)求); destroy(中斷請(qǐng)求); on(訂閱HTTP Response H

    2024年01月22日
    瀏覽(17)
  • HarmonyOS 發(fā)送http網(wǎng)絡(luò)請(qǐng)求

    HarmonyOS 發(fā)送http網(wǎng)絡(luò)請(qǐng)求

    好 本文 我們來(lái)說(shuō) http請(qǐng)求 首先 我們要操作網(wǎng)絡(luò)內(nèi)容 需要申請(qǐng)權(quán)限 項(xiàng)目中找到 main目錄下的module.json5 最下面加上 這里 我在本地寫了一個(gè)get接口 大家可以想辦法 弄一個(gè)后端接口 首先 我們編寫一個(gè)組件雛形 我們導(dǎo)入 @ohos.net.http 然后 通過(guò) createHttp 獲取一個(gè)http對(duì)象 然后通過(guò)對(duì)

    2024年01月23日
    瀏覽(25)
  • 【鴻蒙應(yīng)用ArkTS開發(fā)系列】- http網(wǎng)絡(luò)庫(kù)使用講解和封裝

    【鴻蒙應(yīng)用ArkTS開發(fā)系列】- http網(wǎng)絡(luò)庫(kù)使用講解和封裝

    現(xiàn)在網(wǎng)上的應(yīng)用,基本都是網(wǎng)絡(luò)應(yīng)用,需要進(jìn)行聯(lián)網(wǎng)獲取數(shù)據(jù),而常用的聯(lián)網(wǎng)獲取數(shù)據(jù)的方式有http、socket、websocket等。 在鴻蒙應(yīng)用、服務(wù)中,stage模式開發(fā)下,鴻蒙官方為我們提供了一個(gè)網(wǎng)絡(luò)組件庫(kù) http ,我們通過(guò) import http from ‘@ohos.net.http’; 即可以完成引用。 @ohos.net.http

    2024年02月15日
    瀏覽(28)
  • 鴻蒙HarmonyOS-HTTP網(wǎng)絡(luò)數(shù)據(jù)請(qǐng)求

    鴻蒙HarmonyOS-HTTP網(wǎng)絡(luò)數(shù)據(jù)請(qǐng)求

    應(yīng)用可以通過(guò)HTTP發(fā)起一個(gè)數(shù)據(jù)請(qǐng)求,支持常見(jiàn)的GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT方法。 親愛(ài)的讀者: 首先,我要感謝您抽出寶貴的時(shí)間閱讀這篇文章。我深知,您的每一分每一秒都是寶貴的。為此,我在創(chuàng)作這篇文章時(shí)付出了巨大的努力,力求為您提供最具價(jià)

    2024年01月16日
    瀏覽(19)
  • 基于 HarmonyOS 的 HTTPS 請(qǐng)求過(guò)程開發(fā)示例(ArkTS)

    基于 HarmonyOS 的 HTTPS 請(qǐng)求過(guò)程開發(fā)示例(ArkTS)

    本篇 Codelab 基于網(wǎng)絡(luò)模塊以及 Webview 實(shí)現(xiàn)一次 HTTPS 請(qǐng)求,并對(duì)其過(guò)程進(jìn)行抓包分析。效果如圖所示: ●?Webview:提供 Web 控制能力,Web 組件提供網(wǎng)頁(yè)顯示能力。 ●?HTTP數(shù)據(jù)請(qǐng)求:網(wǎng)絡(luò)管理模塊,提供 HTTP 數(shù)據(jù)請(qǐng)求能力,支持 GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT 請(qǐng)

    2024年02月03日
    瀏覽(24)
  • 鴻蒙HarmonyOS(ArkTS)語(yǔ)法數(shù)據(jù)類型

    鴻蒙HarmonyOS(ArkTS)語(yǔ)法數(shù)據(jù)類型

    上文 鴻蒙HarmonyOS(ArkTS)語(yǔ)法 聲明變量及注意事項(xiàng) 我們簡(jiǎn)述了變量聲明的幾種形式 那么 今天我們就來(lái)說(shuō)說(shuō)數(shù)據(jù)類型 上文我們也說(shuō)過(guò) ArkTS 是ts的優(yōu)化版 那么 我們數(shù)據(jù)類型大部分是跟著TS走的 number 數(shù)字類型 聲明變量為一個(gè)數(shù)值 js中的 number 即可是正數(shù)也可以是小數(shù) 0 又或者 負(fù)

    2024年02月05日
    瀏覽(23)
  • ArkTS - 網(wǎng)絡(luò)請(qǐng)求

    ArkTS - 網(wǎng)絡(luò)請(qǐng)求

    應(yīng)用通過(guò)HTTP發(fā)起一個(gè)數(shù)據(jù)請(qǐng)求,支持常見(jiàn)的GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT方法。 前端開發(fā)肯定都使用過(guò)一個(gè)叫 axios 的 第三方庫(kù) ,它是是一個(gè)基于 promise 的網(wǎng)絡(luò)請(qǐng)求庫(kù),可以用于瀏覽器和 node.js,它是前端最流行的發(fā)送ajax請(qǐng)求的第三方庫(kù)。 如果你不知道什么

    2024年01月24日
    瀏覽(24)
  • HarmonyOS開發(fā):基于http開源一個(gè)網(wǎng)絡(luò)請(qǐng)求庫(kù)

    HarmonyOS開發(fā):基于http開源一個(gè)網(wǎng)絡(luò)請(qǐng)求庫(kù)

    網(wǎng)絡(luò)封裝的目的,在于簡(jiǎn)潔,使用起來(lái)更加的方便,也易于我們進(jìn)行相關(guān)動(dòng)作的設(shè)置,如果,我們不封裝,那么每次請(qǐng)求,就會(huì)重復(fù)大量的代碼邏輯,如下代碼,是官方給出的案例: 以上的案例,每次請(qǐng)求書寫這么多代碼,在實(shí)際的開發(fā)中,是無(wú)法承受的,所以基于此,封裝

    2024年02月06日
    瀏覽(27)
  • 【HarmonyOS應(yīng)用開發(fā)】HTTP數(shù)據(jù)請(qǐng)求(十四)

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

    文章末尾含相關(guān)內(nèi)容源代碼 日常生活中我們使用應(yīng)用程序看新聞、發(fā)送消息等,都需要連接到互聯(lián)網(wǎng),從服務(wù)端獲取數(shù)據(jù)。例如,新聞應(yīng)用可以從新聞服務(wù)器中獲取最新的熱點(diǎn)新聞,從而給用戶打造更加豐富、更加實(shí)用的體驗(yàn)。 那么要實(shí)現(xiàn)這樣一種能實(shí)時(shí)從服務(wù)端獲取數(shù)據(jù)

    2024年02月22日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包