成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

HarmonyOS應用開發:鴻蒙網絡管理,網絡請求獲取天氣信息

系統 OpenHarmony
今天就聊聊網絡通訊的用法和實現。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??

無論哪種技術開發,核心就是網絡通訊,數據操作這些主要業務處理的方面的,沒有網絡通訊操作的應用不能說不是好應用,但是一定是有缺陷的應用,鴻蒙也是一樣網絡通訊是核心的開發技能,了解網絡通訊就能將應用做到和后臺通訊,數據存儲到遠程服務或者獲取遠程服務數據,今天就聊聊網絡通訊的用法和實現。

每天學習一點點。

場景:

 通過鴻蒙網絡通訊的api 中 GET,POST請求方式 實現 獲取天氣信息。

下面我們開始今天的文章,還是老規矩,通過如下幾點來說:

1,實現思路

2,代碼解析

3,實現效果

3,總結

一、實現思路

引入import http from '@ohos.net.http'; 網絡模塊, 通過let httpRequest = http.createHttp();創建一個請求任務,httpRequest.request 添加請求,根據URL地址,發起HTTP網絡請求,使用callback方式作為異步方法。

二、代碼解析

前提配置:

獲取網絡通訊數據必須實用網絡權限,需要在config.json配置文件中添加屬性。

"reqPermissions": [
{
"name": "ohos.permission.INTERNET"
}
],

網絡請求默認是支持https的,如果要支持http需要添加如下配置:

"deviceConfig": {
"default": {
"network": {
"cleartextTraffic": true
}
}
}

1、hml文件

添加兩個按鈕事件,用于get和post請求方式獲取數據,添加一個text用于顯示獲取的天氣信息。

<div class="container">
<button class="title" value="GET請求獲取數據" onclick="onClickGet"></button>
<button class="title" value="POST請求獲取數據" onclick="onClickPost"></button>
<text class="content">天氣信息:</text>
<text class="content">{{content}}</text>
</div>

2、css文件

.container {
flex-direction: column;
justify-content: center;
align-items: center;
margin: 10px;
}
.title {
width: 100%;
height: 60px;
font-size: 20px;
text-align: center;
margin-top: 20px;
}
.content{
font-size: 25px;
}

3、js文件

描述:引入import http from '@ohos.net.http'; 網絡模塊, 通過let httpRequest = http.createHttp();創建一個請求任務,httpRequest.request 添加請求,根據URL地址,發起HTTP網絡請求,使用callback方式作為異步方法。

  • 設置強求方式:http.RequestMethod.GET,http.RequestMethod.POST。
  • 設置請求頭:header: { 'Content-Type': 'application/json'}。
  • 設置請求超時:readTimeout: 60000, connectTimeout: 60000。
import http from '@ohos.net.http';
export default {
data: {
title: 'World',
content:""
},
onClickGet(){
// 每一個httpRequest對應一個http請求任務,不可復用
let httpRequest = http.createHttp();
httpRequest.request("http://apis.juhe.cn/simpleWeather/query?key=397c9db4cb0621ad0313123dab416668&city=西安",
{
method: http.RequestMethod.GET,
header: {
'Content-Type': 'application/json'
},
readTimeout: 60000,
connectTimeout: 60000
}, (err, data) => {
if (!err) {
console.info('網絡Result:' + data.result);
this.content = data.result;
console.info('網絡code:' + data.responseCode);
console.info('網絡header:' + JSON.stringify(data.header));
console.info('網絡cookies:' + data.cookies); // 8+
console.info('網絡header.Content-Type:' + data.header['Content-Type']);
console.info('網絡header.Status-Line:' + data.header['Status-Line']);
} else {
console.info('網絡error:' + JSON.stringify(err));
}
});
},
onClickPost(){
// 每一個httpRequest對應一個http請求任務,不可復用
let httpRequest = http.createHttp();
// 用于訂閱http響應頭,此接口會比request請求先返回。可以根據業務需要訂閱此消息
// 從API 8開始,使用on('headersReceive', Callback)替代on('headerReceive', AsyncCallback)。 8+
httpRequest.on('headersReceive', (header) => {
console.info('header: ' + JSON.stringify(header));
});
httpRequest.request("http://apis.juhe.cn/simpleWeather/query?key=397c9db4cb0621ad0313123dab416668&city=西安",
{
method: http.RequestMethod.POST, // 可選,默認為http.RequestMethod.GET
// 開發者根據自身業務需要添加header字段
header: {
'Content-Type': 'application/json'
},
// 當使用POST請求時此字段用于傳遞內容
extraData: {
"data": ""
},
connectTimeout: 60000, // 可選,默認為60s
readTimeout: 60000, // 可選,默認為60s
}, (err, data) => {
if (!err) {
// data.result為http響應內容,可根據業務需要進行解析
console.info('Result:' + data.result);
this.content = data.result;
console.info('code:' + data.responseCode);
// data.header為http響應頭,可根據業務需要進行解析
console.info('header:' + JSON.stringify(data.header));
console.info('cookies:' + data.cookies); // 8+
} else {
console.info('error:' + JSON.stringify(err));
// 當該請求使用完畢時,調用destroy方法主動銷毀。
httpRequest.destroy();
}
});
}
}

三、實現效果

HarmonyOS應用開發:鴻蒙網絡管理,網絡請求獲取天氣信息!-開源基礎軟件社區


四、總結

  1. 引入import http from '@ohos.net.http'; 網絡模塊。
  2. 通過let httpRequest = http.createHttp();創建一個請求任務。
  3. httpRequest.request 添加請求,根據URL地址,發起HTTP網絡請求,使用callback方式作為異步方法。
  4. 設置強求方式:http.RequestMethod.GET,http.RequestMethod.POST。
  5. 設置請求頭:header: { 'Content-Type': 'application/json'}。
  6. 設置請求超時:readTimeout: 60000, connectTimeout: 60000
  7. post請求設置請求體:extraData: {  "data": "" }。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??。

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2022-02-28 15:44:05

鴻蒙系統鴻蒙API加載網絡圖片

2021-12-03 09:49:59

鴻蒙HarmonyOS應用

2020-09-28 15:13:04

鴻蒙

2011-06-10 12:17:52

Qt 網絡

2021-06-24 09:32:00

鴻蒙HarmonyOS應用

2020-11-09 11:56:49

HarmonyOS

2022-08-15 22:09:37

設備開發開發筆記

2021-09-24 09:25:01

鴻蒙HarmonyOS應用

2021-05-06 16:21:55

鴻蒙HarmonyOS應用開發

2020-11-24 11:58:19

HarmonyOS

2014-01-16 10:21:54

2013-07-02 13:30:18

2021-04-15 09:18:57

鴻蒙HarmonyOS應用

2021-05-24 10:40:12

網絡安全DarkSide漏洞

2009-02-10 15:08:41

2022-05-26 00:00:00

網絡請求合并優化

2021-01-14 09:50:26

鴻蒙HarmonyOSAPP

2024-03-26 15:19:36

鴻蒙應用開發開發工具
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 福利视频网站 | 国产精品久久久久久妇女6080 | 成人美女免费网站视频 | 欧美日韩国产在线 | 免费黄视频网站 | 亚洲精品久久久久久国产精华液 | 久久久久久久夜 | 国产精品区二区三区日本 | 亚洲一区二区视频 | 亚洲日本免费 | 国产 欧美 日韩 一区 | 亚洲欧美精品在线 | 日韩欧美一级片 | 亚洲成人精品在线 | 日批免费在线观看 | 久久精品综合网 | 日韩精品免费在线观看 | 亚洲精品乱码久久久久久久久久 | 国产精品美女久久久久久免费 | 99精彩视频| 国产精品96久久久久久 | 精品国产伦一区二区三区观看方式 | 一级黄色录像毛片 | 天天综合天天 | 视频在线一区二区 | www操操| 草樱av| 国产精品自产拍 | 欧美在线一区二区三区 | 极品电影院 | 少妇一区二区三区 | 中文字幕av在线播放 | 天堂色综合 | 99精品国产一区二区三区 | 欧美一级久久 | 国产在线精品一区二区 | 亚洲国产精品久久人人爱 | 国产激情在线 | 黄色片大全在线观看 | 久久只有精品 | 午夜码电影 |