鸿蒙(HarmonyOS)应用开发——http的使用
2023-12-13 03:46:09
在使用app的时候,不可能将所有信息都存储在app中,是需要链接互联网,从服务端获取数据。
使用HTTP访问网络
HTTP即超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。
在ArkTs中我们使用http的流程大致如下:
导入http模块
import http from '@ohos.net.http'
除了导入http模块,还需要中module.json5中添加网络访问权限
{
"module" : {
"requestPermissions":[
{
"name": "ohos.permission.INTERNET"
}
]
}
}
创建http请求
适应createHttp()创建一个httpRequest对象。
每一个httpRequest对象对应一个http请求任务,不可服用
import http from '@ohos.net.http';
let httpRequest = http.createHttp();
订阅请求头
用于订阅http响应头,此接口会比request请求先返回,可以根据业务需要订阅此消息
import http from '@ohos.net.http';
let httpRequest = http.createHttp();
httpRequest.on('headersReceive', (header) => {
console.info('header: ' + JSON.stringify(header));
});
发起请求
通过发起请求,向服务器请求数据
http支持的请求方式
方法 | 说明 |
---|---|
OPTIONS | HTTP 请求 OPTIONS |
GET | HTTP 请求 GET |
HEAD | HTTP 请求 HEAD |
POST | HTTP 请求 POST |
PUT | HTTP 请求 PUT |
DELETE | HTTP 请求 DELETE |
TRACE | HTTP 请求 TRACE |
CONNECT | HTTP 请求 CONNECT |
- get 方法
let promise = httpRequest.request("EXAMPLE_URL", {
method: http.RequestMethod.GET,
connectTimeout: 60000,
readTimeout: 60000,
header: {
'Content-Type': 'application/json'
}
});
- post 方法
let promise = httpRequest.request("EXAMPLE_URL", {
method: http.RequestMethod.GET,
connectTimeout: 60000,
readTimeout: 60000,
extraData:{
// 数据部分
},
header: {
'Content-Type': 'application/json'
}
});
处理响应
let promise = httpRequest.request("EXAMPLE_URL", {
method: http.RequestMethod.GET,
connectTimeout: 60000,
readTimeout: 60000,
extraData:{
// 数据部分
},
header: {
'Content-Type': 'application/json'
}
});
promise.then((res)=>{
})
返回的参数类型是:HttpResponse
HttpResponse 参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
result | string \Object \ArrayBuffer8+ | 是 | Http请求根据响应头中Content-type类型返回对应的响应格式内容:application/json:返回JSON格式的字符串,如需Http响应具体内容,需开发者自行解析;application/octet-stream:ArrayBuffer;其他:string |
responseCode | ResponseCode \number | 是 | 回调函数执行成功时,此字段为ResponseCode。若执行失败,错误码将会从AsyncCallback中的err字段返回。错误码如下:; 200:通用错误; 202:参数错误; 300:I/O错误 |
header | Object | 是 | 发起http请求返回来的响应头。当前返回的是JSON格式字符串,如需具体字段内容,需开发者自行解析。常见字段及解析方式如下:Content-Type:header[‘Content-Type’];Status-Line:header[‘Status-Line’];Date:header.Date/header[‘Date’];Server:header.Server/header[‘Server’]; |
cookies8+ | Array | 是 | 服务器返回的 cookies。 |
文章来源:https://blog.csdn.net/weixin_46282323/article/details/134877974
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!