HTTP请求Demo,通过createHttp方法创建一个请求任务,再通过request方法发起网络请求
通过createHttp方法创建一个请求任务,再通过request方法发起网络请求。
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
网络请求实现AI聊天,应用可以通过HTTP发起一个数据请求,再解析返回的数据来实现简单ai聊天功能
760浏览 • 1回复 待解决
如何设置发起网络请求的权限
505浏览 • 1回复 待解决
封装一个网络请求的公共方法要如何实现
488浏览 • 1回复 待解决
http请求支持patch方法
2071浏览 • 1回复 待解决
求告知如何发起HTTP请求
452浏览 • 1回复 待解决
HarmonyOS使用三方库axios发起网络请求,预览支持吗?
378浏览 • 1回复 待解决
http request 请求不到接口数据
4952浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何在HarmonyOS-NEXT中封装一个支持多种HTTP请求方法的网络模块?
106浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何在HarmonyOS中通过http模块发起POST请求并处理响应?
127浏览 • 1回复 待解决
使用http请求网络地址
836浏览 • 1回复 待解决
http网络请求,post请求如何传递body和参数,header
188浏览 • 1回复 待解决
如何通过网络请求获取数据并通过List组件展示
1849浏览 • 1回复 待解决
JS UI 做网络请求时,能否有地方查看HTTP请求状态?
4519浏览 • 1回复 待解决
使用HarmonyOS原生的网络请求类http如何发送表单请求
497浏览 • 0回复 待解决
HarmonyOS 需要一个网络请求axios二次封装的项目或者demo供参考
52浏览 • 1回复 待解决
网络请求创建后,持久化问题
611浏览 • 1回复 待解决
rcp模块能力发起post请求
1200浏览 • 1回复 待解决
HarmonyOS3.0中使用http做网络请求,请求接口不成功。
3074浏览 • 1回复 待解决
网络请求-GET请求传参
504浏览 • 1回复 待解决
HTTP请求使用同一SESSIONID
531浏览 • 1回复 待解决
如何通过拦截器来处理网络请求和响应
1878浏览 • 1回复 待解决
http 请求一直报 2300058
1645浏览 • 0回复 待解决
通过网络请求而来的 Cookie 如何同步配置到web中
2131浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用Remote Communication发送一个put网络请求?
86浏览 • 1回复 待解决
napi调用C++网络请求逻辑,创建socket失败咋回事?napi方法能否使用async?
395浏览 • 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加密传输。