网络请求使用gzip压缩数据

在使用原生网络库进行网络请求需要对发送数据进行gzip压缩,如何实现?

HarmonyOS
2024-05-09 23:02:28
947浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
sslijun

网络请求可支持使用gzip传输数据

如使用axios可参考如下:

参数定义时无法使用’-'符号传递,可使用Record泛式设置参数发起请求,可参考如下: 
let import axios, { AxiosError, AxiosRequestConfig, AxiosResponse } from ‘@ohos/axios’ 
const config: AxiosRequestConfig = { 
  url: ‘https://test.com’, //域名地址 
  method: ‘POST’, 
  params: { 
    accessToken: ‘ZrsMkU01wR1nonbyMvNYecTa3HFNXseUT2hZ/2eL4fCaiiGxf1OXkGyU5RpcuBriqRX7pbsW8ImrVU4mVAXQ8/3WjJ1/9FfcoESizAk8cl0=’, //压缩数据 
    appName: ‘ygw’, 
    // body: {“latitude”:"",“longitude”:"",“addressCode”:""} 
  }, 
  headers: { 
    ‘Content-Type’: ‘text/plain’, 
    Accept: ‘/’, 
    ‘Accept-Encoding’: ‘gzip, deflate, br’, 
    Connection: ‘keep-alive’ 
  }, 
  data: ‘{“latitude”:"",“longitude”:"",“addressCode”:""}’ 
} 
 
const Request = axios(config) 
  .then((response: AxiosResponse<string>) => { 
    console.info(hutegfei-----------res1-----------${JSON.stringify(response)}); 
  }) 
  .catch((error: AxiosError) => { 
    console.log(hutegfei-----------err1-----------${JSON.stringify(error)}) 
  }); 
发送gzip类型数据时需要确认使用服务器支持 GZIP类型,方法内设置指定为gzip类型并在请求体中携带上压缩数据,请求头部分设置可参考如下: 
headers : { 
“Content-Encoding”: “gzip”, 
“Content-Type”: “application/json” 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
分享
微博
QQ
微信
回复
2024-05-10 11:13:40
相关问题
网络请求gzip压缩使用
1038浏览 • 1回复 待解决
HarmonyOS 解压gzip格式压缩数据
759浏览 • 1回复 待解决
HarmonyOS gzip压缩和解压缩接口
1439浏览 • 1回复 待解决
HarmonyOS gzip二进制流压缩和解压缩
1773浏览 • 1回复 待解决
HarmonyOS 网络请求结果数据解析
766浏览 • 1回复 待解决
HarmonyOS Gzip压缩字节数组怎么搞?
1046浏览 • 1回复 待解决
HarmonyOS 如何解压GZIP压缩过的字符串
759浏览 • 1回复 待解决
网络请求数据后的处理
1171浏览 • 1回复 待解决
HarmonyOS如何解压GZIP压缩过的字符串?
1605浏览 • 1回复 待解决
使用http请求网络地址
1684浏览 • 1回复 待解决
HarmonyOS rcp网络请求返回数据为null
944浏览 • 1回复 待解决
网络请求数据处理问题
1226浏览 • 1回复 待解决
HarmonyOS 如何使用gzip解压文件?
784浏览 • 1回复 待解决