HTTP请求Demo,通过createHttp方法创建一个请求任务,再通过request方法发起网络请求
通过createHttp方法创建一个请求任务,再通过request方法发起网络请求。
HarmonyOS
赞
收藏 0
回答 1
相关问题
如何设置发起网络请求的权限
990浏览 • 1回复 待解决
HarmonyOS 如何发起网络接口请求
781浏览 • 1回复 待解决
网络请求实现AI聊天,应用可以通过HTTP发起一个数据请求,再解析返回的数据来实现简单ai聊天功能
1780浏览 • 1回复 待解决
封装一个网络请求的公共方法要如何实现
1340浏览 • 1回复 待解决
http请求支持patch方法
3036浏览 • 1回复 待解决
HarmonyOS http网络请求封装的Demo
931浏览 • 1回复 待解决
求告知如何发起HTTP请求
1300浏览 • 1回复 待解决
HarmonyOS 如何取消一个HTTP请求?
703浏览 • 1回复 待解决
HarmonyOS 推荐一个http请求库
861浏览 • 1回复 待解决
HarmonyOS使用三方库axios发起网络请求,预览支持吗?
1308浏览 • 1回复 待解决
HarmonyOS 网络发起多个并发请求
929浏览 • 1回复 待解决
http request 请求不到接口数据
6079浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何在HarmonyOS-NEXT中封装一个支持多种HTTP请求方法的网络模块?
1099浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何在HarmonyOS中通过http模块发起POST请求并处理响应?
1027浏览 • 1回复 待解决
HarmonyOS 网络axios请求的使用RSA加解密,提供一个demo示例
878浏览 • 1回复 待解决
HarmonyOS 使用RCP框架发起HTTP GET请求报错
1287浏览 • 1回复 待解决
使用http请求网络地址
1736浏览 • 1回复 待解决
如何通过网络请求获取数据并通过List组件展示
2665浏览 • 1回复 待解决
http网络请求,post请求如何传递body和参数,header
1953浏览 • 1回复 待解决
HarmonyOS 系统自带的http请求接口,请求回调函数都是异步的,不能发起同步的请求么
554浏览 • 1回复 待解决
HarmonyOS 网络请求框架中,如何添加一个CustomDialog
955浏览 • 1回复 待解决
使用HarmonyOS原生的网络请求类http如何发送表单请求
1318浏览 • 0回复 待解决
HarmonyOS 使用axios进行网络请求,有一个请求包含图片和其他参数,怎么实现?
711浏览 • 1回复 待解决
JS UI 做网络请求时,能否有地方查看HTTP请求状态?
5590浏览 • 1回复 待解决
HarmonyOS 使用http请求,接口请求一直超时
931浏览 • 1回复 待解决
使用的核心API
http.createHttp
核心代码解释
首先在HttpUtil.ets中调用createHttp方法创建一个请求任务,再通过request方法发起网络请求。该方法支持三个参数:url、options以及callback回调,其中options可以设置请求方法、请求头以及超时时间等。
接着在入口页面中调用上述封装的httpGet方法请求指定网址,将请求得到的内容嵌入到Web组件中。
分析模块源码可知,通过request方法建立请求后,模块底层首先会调用三方库libcurl中的curl_easy_init初始化一个简单会话。初始化完成后,接着调用curl_easy_setopt方法设置传输选项。其中CURLOPT_URL用于设置请求的URL地址,对应request中的url参数;CURLOPT_WRITEFUNCTION可以设置一个回调,保存接收的数据;CURLOPT_HEADERDATA支持设置回调,在回调中保存响应头数据。
传输选项设置成功后,调用curl_multi_perform执行传输请求,并通过curl_multi_info_read查询处理句柄是否有消息返回,最后进入HandleCurlData方法处理返回数据。
在HandleCurlData函数中调用ParseHeaders函数将上面回调写入的响应头解析出来,其中响应头中会携带客户端和服务端支持的最高网络协议,如果是HTTP/2表示支持HTTPS加密传输。