鸿蒙开发-原生http请求一些记录

以下请求皆通过鸿蒙SDK,API9.0进行完成,@ohos.net.http’
前言:
数据请求,请求体中的数据格式,在请求头-header中通过Content-Type进行标识,其中包括:
1,application/json:数据以JSON对象的形式进行编码;
2,application/x-www-form-urlencoded:数据以键值对的形式通过&符号连接,并且空格被替换为加号(+),特殊字符会进行字节编码(URL编码),例如:’ name=skyzizhu&age=25‘;
3,multipart/form-data:表单表单,用于上传文件或包含二进制数据的一种内容类型。它允许在同一个请求中传输多个数据块,每个数据块可以有不同的内容类型。通常用于文件上传,有固定的上传格式;

一,GET请求:
method: http.RequestMethod.GET
1,当header的Content-Type为json时候:
header: {
  'Content-Type': 'application/json'
}
参数传递extraData,为一个json对象:
extraData: {
  'GET_1': 'VALUE_1',
  'GET_2': 'VALUE_2',
  'GET_3': 'VALUE_2',
},
2,当header的Content-Type为multipart/form-data时候,实则也是通过form表单内容通过转换,以application/x-www-form-urlencoded拼接的方式进行的请求,所以form-data类型参数传递如下:
header: {
  'Content-Type': 'multipart/form-data'
}
extraData: {
  'GET_1': 'VALUE_1',
  'GET_2': 'VALUE_2',
  'GET_3': 'VALUE_2',
},
3,Content-Type为application/x-www-form-urlencoded时候,可通过json类型直接请求,也可以将参数进行拼接,然后进行请求:
header: {
  'Content-Type': 'application/x-www-form-urlencoded',
},
[1]:参数
extraData: {
  'GET_1': 'VALUE_1',
  'GET_2': 'VALUE_2',
  'GET_3': 'VALUE_2',
},
[2],可通过系统提供的URL参数转换,进行传参:
import url from '@ohos.url';

let urlParams = new url.URLParams({ 
  params_1:'sadasd',
  params_2:'subParams',
});
let stringParams = urlParams.toString();
//最终形态params_1=sadasd&params_2=subParams
//直接将拼接的字符串传递过去
extraData: stringParams,
二,POST请求:
method: http.RequestMethod.POST
1,Content-Type为application/x-www-form-urlencoded,需要将参数拼接成URL传参格式,通过POST模式传递给服务器,例如:params_1=sadasd&params_2=subParams
header: {
  'Content-Type': 'application/x-www-form-urlencoded',
},
[1]
extraData: 'params_1=sadasd&params_2=subParams',
其中当前传递参数的格式可以自己拼接,也可以通过系统提供的方法进行转换,如下:
[2]
let urlParams = new url.URLParams({
  params_1:'sadasd',
  params_2:'subParams',
});
let stringParams = urlParams.toString();
extraData: stringParams,

Leave a Reply

Required fields are marked *