> 文档中心 > 鸿蒙Js网络 请求本机后台服务

鸿蒙Js网络 请求本机后台服务

一、需要添加网络请求权限

在进行鸿蒙网络请求开发时,先要进行网络请求的权限配置。
配置的地方在config.json文件中,而且针对不同的情况需要的配置还不一样。

1.1 Https的请求地址

默认使用https协议地址,鸿蒙中请求https需要申请网络权限。在config.js中添加如下配置:

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

1.2 Http的请求地址

如果用的是http的请求,除开添加允许网络请求的权限,还需要配置允许明文信息传输的配置:

 

"cleartextPermitted": true, 该行代码为设置允许使用明文传输,即允许http请求 domain中的配置为允许访问的域名或ip地址
{  "subdomains": true,  "name": "5incdg.natappfree.cc"}   

name为内网穿透后,我的本机127.0.0.1对应的地址,根据自己的去修改。

1.4 发送本地请求的条件

因为模拟器使用的是华为内网,和本地使用的不是同一个局域网,需要使用内网穿透。内网穿透参考如下文章:

关于外网访问本地服务器_lgy1024的博客-CSDN博客_本地服务器如何让所有外网访问

1.3 使用模拟器向本地服务发送请求

首先在要发送请求页面的js中引入http模块,导入土司弹框方便观察

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

在js中写发送请求方法:

onClick() { //创建http请求 let httpRequest = http.createHttp(); httpRequest.request("http://5incdg.natappfree.cc/user/login/",     {  method: 'POST',  // 开发者根据自身业务需要添加header字段  header: {      'Content-Type': 'application/json'  },  // 当使用POST请求时此字段用于传递内容  extraData: {      "phone": "12345678910",      "password": "123456",  },     },     (err, data) => {  prompt.showToast({      message: data.result,      duration: 3000  });  if (!err) {      console.log("成功!");      console.info('Result:' + data.result);      console.info('code:' + data.responseCode);      console.info('header:' + JSON.stringify(data.header));      console.info('cookies:' + data.cookies); // 8+  } else {      console.info('error:' + JSON.stringify(err));      console.log("失败!");  }     });

1.4 请求成功