FFH—AI作诗之HttpRequest实战
从现在开始,我们要努力学习啦!今天我给大家带来《FFH—AI作诗之HttpRequest实战》,感兴趣的朋友请继续看下去吧!下文中的内容我们主要会涉及到等等知识点,如果在阅读本文过程中有遇到不清楚的地方,欢迎留言呀!我们一起讨论,一起学习!

前言
最近在一个网课上看到了一个AI作诗的接口,因为之前的fetch接口已经不再维护了,所以我就借这个机会想试试鸿蒙的http接口。接下来会重新复习一下http请求的一些基本知识,并且跟大家一起实现一个简单的AI写诗的demo实际操练一下鸿蒙的http请求。
Demo展示

http接口常识补充
内容类型(Content-Type)
内容类型(Content-Type)的作用就是告诉客户端返回内容的内容类型,各种Content-Type对应的格式如下:
Content-Type | 对应格式 |
text/html | HTML格式 |
text/plain | 纯文本格式 |
text/xml | XML格式 |
image/gif | gif图片格式 |
image/jpeg | jpg图片格式 |
image/png | png图片格式 |
application/xhtml+xml | XHTML格式 |
application/xml | XML数据格式 |
application/atom+xml | Atom XML聚合格式 |
application/json | JSON数据格式 |
application/pdf | pdf格式 |
application/msword | Word文档格式 |
application/octet-stream | 二进制流数据(如常见的文件下载) |
application/x-www-form-urlencoded | form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式) |
multipart/form-data | 需要在表单中进行文件上传时,就需要使用该格式 |
响应状态码(ResponseCode)
每次接口请求,服务器都会返回一个响应状态码,每一个状态码都有不同的意思。
名称 | 值 | 说明 |
OK | 200 | 请求成功。一般用于GET与POST请求。 |
CREATED | 201 | 已创建。成功请求并创建了新的资源。 |
ACCEPTED | 202 | 已接受。已经接受请求,但未处理完成。 |
NOT_AUTHORITATIVE | 203 | 非授权信息。请求成功。 |
NO_CONTENT | 204 | 无内容。服务器成功处理,但未返回内容。 |
RESET | 205 | 重置内容。 |
PARTIAL | 206 | 部分内容。服务器成功处理了部分GET请求。 |
MULT_CHOICE | 300 | 多种选择。 |
MOVED_PERM | 301 | 永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。 |
MOVED_TEMP | 302 | 临时移动。 |
SEE_OTHER | 303 | 查看其它地址。 |
NOT_MODIFIED | 304 | 未修改。 |
USE_PROXY | 305 | 使用代理。 |
BAD_REQUEST | 400 | 客户端请求的语法错误,服务器无法理解。 |
UNAUTHORIZED | 401 | 请求要求用户的身份认证。 |
PAYMENT_REQUIRED | 402 | 保留,将来使用。 |
FORBIDDEN | 403 | 服务器理解请求客户端的请求,但是拒绝执行此请求。 |
NOT_FOUND | 404 | 服务器无法根据客户端的请求找到资源(网页)。 |
BAD_METHOD | 405 | 客户端请求中的方法被禁止。 |
NOT_ACCEPTABLE | 406 | 服务器无法根据客户端请求的内容特性完成请求。 |
PROXY_AUTH | 407 | 请求要求代理的身份认证。 |
CLIENT_TIMEOUT | 408 | 请求时间过长,超时。 |
CONFLICT | 409 | 服务器完成客户端的PUT请求是可能返回此代码,服务器处理请求时发生了冲突。 |
GONE | 410 | 客户端请求的资源已经不存在。 |
LENGTH_REQUIRED | 411 | 服务器无法处理客户端发送的不带Content-Length的请求信息。 |
PRECON_FAILED | 412 | 客户端请求信息的先决条件错误。 |
ENTITY_TOO_LARGE | 413 | 由于请求的实体过大,服务器无法处理,因此拒绝请求。 |
REQ_TOO_LONG | 414 | 请求的URI过长(URI通常为网址),服务器无法处理。 |
UNSUPPORTED_TYPE | 415 | 服务器无法处理请求的格式。 |
INTERNAL_ERROR | 500 | 服务器内部错误,无法完成请求。 |
NOT_IMPLEMENTED | 501 | 服务器不支持请求的功能,无法完成请求。 |
BAD_GATEWAY | 502 | 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。 |
UNAVAILABLE | 503 | 由于超载或系统维护,服务器暂时的无法处理客户端的请求。 |
GATEWAY_TIMEOUT | 504 | 充当网关或代理的服务器,未及时从远端服务器获取请求。 |
VERSION | 505 | 服务器请求的HTTP协议的版本。 |
代码实现
1、申请网络权限
在config.json文件里面注册网络权限,该权限允许程序打开网络套接字,进行网络连接。
"reqPermissions": [
{
"name": "ohos.permission.INTERNET"
}
]
2、导入http模块
import http from '@ohos.net.http';
3、创建HttpRequest对象
这里调用createHttp()创建一个HttpRequest对象后,要注意每一个httpRequest对应一个http请求任务,不可复用,也就是说每发起一次网络请求,都要创建一个新的HttpRequest对象,当执行完该次请求之后,就会自动销毁该对象。
let httpRequest = http.createHttp();
4、编写request接口
httpRequest.request(
"https://py.myie9.com/cangtoutest/"+this.poemHead,
{
header: {
'Content-Type': 'text/plain'
},
readTimeout: 10000,
connectTimeout: 10000
}, (err, data) => {
if (!err) {
console.info("xxx--- "+JSON.stringify(data))
this.aiResult = data.result;
} else {
console.info('xxx--- error:' + JSON.stringify(err));
}
})
至此就完成了一次简单的http请求啦。
后面还可以对请求进行封装,暴露出需要变更的几个参数即可,比如method,Content-Type等等,后面再找时间写一篇http请求封装的博客。
5、藏头诗部分完整代码
js代码:
import http from '@ohos.net.http';
import router from '@system.router';
// 每一个httpRequest对应一个http请求任务,不可复用
let httpRequest = http.createHttp();
export default {
data: {
poemHead:"123",
aiResult:"请在上方输入符合要求的字段"
},
onInit() {
},
back(){
router.back()
},
hideHeadPoem() {
httpRequest = http.createHttp();
httpRequest.request(
"https://py.myie9.com/cangtoutest/"+this.poemHead,
{
header: {
'Content-Type': 'text/plain'
},
readTimeout: 10000,
connectTimeout: 10000
}, (err, data) => {
if (!err) {
console.info("xxx--- "+JSON.stringify(data))
this.aiResult = data.result;
} else {
console.info('xxx--- error:' + JSON.stringify(err));
}
})
},
check1(e){
console.log("xxx---"+JSON.stringify(e.value))
this.poemHead = e.value.poemHead
this.hideHeadPoem();
}
}
css代码:
.container {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
left: 0px;
top: 0px;
width: 100%;
height: 100%;
}
.title {
font-size: 60px;
text-align: center;
width: 100%;
height: 40%;
margin: 10px;
}
.display{
justify-content: center;
align-items: center;
width: 80%;
height: 35%;
border-radius: 20px;
background-color: #fff5f1f1;
opacity: 0.8;
box-shadow: 10px 10px 5px #888888;
}
.subButton{
width: 250px;
margin-left: 25%;
background-color:#ffa5552f;
margin-top: 5%;
}
.subButton2{
width: 250px;
height: 70px;
margin-left: 25%;
background-color:#ffa5552f;
margin-top: 2%;
}
hml代码:
div class="container">
form class="container" onsubmit='check1'>
input style="width:80%;height:10%;margin-top: 15%;" type="text" placeholder="请输入要生成藏头诗的句子" name='poemHead'>input>
div class="display" style="margin-top: 15%;">
text style="margin: 40px;font-size: 38px;">
{{aiResult}}
text>
div>
input class="subButton" type='submit'>生成藏头诗input>
button class="subButton2" onclick="back">返回button>
form>
image src="../../common/123.png" style="z-index: -1; position: fixed;width: 100%;height: 100%;">image>
div>完整的demo代码请看附件:
https://ost.51cto.com/resource/2180。
以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于科技周边的相关知识,也可关注golang学习网公众号。
人工智能在物流领域的应用
- 上一篇
- 人工智能在物流领域的应用
- 下一篇
- Gary Marcus公开喊话Hinton、马斯克:深度学习就是撞墙了,我赌十万美金
-
- 科技周边 · 人工智能 | 1天前 | AI绘画
- AI绘画工具安装与配置教程
- 339浏览 收藏
-
- 科技周边 · 人工智能 | 1天前 |
- 海螺AI语音功能测评与体验分享
- 260浏览 收藏
-
- 科技周边 · 人工智能 | 1天前 |
- ChatGPT读不了加密PDF?先解密再上传
- 438浏览 收藏
-
- 科技周边 · 人工智能 | 1天前 |
- 千问AI测试规范与覆盖率提升技巧
- 152浏览 收藏
-
- 科技周边 · 人工智能 | 1天前 |
- MiniMaxMusic2.0专业模式上线:音乐创作新神器
- 232浏览 收藏
-
- 科技周边 · 人工智能 | 1天前 |
- 即梦AI音乐可视化效果评测
- 280浏览 收藏
-
- 科技周边 · 人工智能 | 1天前 | 豆包AI 豆包AI助手
- 豆包AI写诗技巧与教程分享
- 152浏览 收藏
-
- 科技周边 · 人工智能 | 1天前 | openclaw
- OpenClawAI摘要生成技巧全解析
- 102浏览 收藏
-
- 科技周边 · 人工智能 | 1天前 |
- 百度发布DuMate智能体,李彦宏解读DAA新定义
- 247浏览 收藏
-
- 科技周边 · 人工智能 | 1天前 |
- 智谱清影制作鸟瞰街景镜头教程
- 306浏览 收藏
-
- 科技周边 · 人工智能 | 1天前 | openclaw
- OpenClaw框架解析与技术亮点揭秘
- 357浏览 收藏
-
- 科技周边 · 人工智能 | 1天前 |
- 即梦AI美妆详情页提示词技巧
- 334浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- ChatExcel酷表
- ChatExcel酷表是由北京大学团队打造的Excel聊天机器人,用自然语言操控表格,简化数据处理,告别繁琐操作,提升工作效率!适用于学生、上班族及政府人员。
- 5909次使用
-
- Any绘本
- 探索Any绘本(anypicturebook.com/zh),一款开源免费的AI绘本创作工具,基于Google Gemini与Flux AI模型,让您轻松创作个性化绘本。适用于家庭、教育、创作等多种场景,零门槛,高自由度,技术透明,本地可控。
- 6339次使用
-
- 可赞AI
- 可赞AI,AI驱动的办公可视化智能工具,助您轻松实现文本与可视化元素高效转化。无论是智能文档生成、多格式文本解析,还是一键生成专业图表、脑图、知识卡片,可赞AI都能让信息处理更清晰高效。覆盖数据汇报、会议纪要、内容营销等全场景,大幅提升办公效率,降低专业门槛,是您提升工作效率的得力助手。
- 6148次使用
-
- 星月写作
- 星月写作是国内首款聚焦中文网络小说创作的AI辅助工具,解决网文作者从构思到变现的全流程痛点。AI扫榜、专属模板、全链路适配,助力新人快速上手,资深作者效率倍增。
- 8122次使用
-
- MagicLight
- MagicLight.ai是全球首款叙事驱动型AI动画视频创作平台,专注于解决从故事想法到完整动画的全流程痛点。它通过自研AI模型,保障角色、风格、场景高度一致性,让零动画经验者也能高效产出专业级叙事内容。广泛适用于独立创作者、动画工作室、教育机构及企业营销,助您轻松实现创意落地与商业化。
- 6662次使用
-
- GPT-4王者加冕!读图做题性能炸天,凭自己就能考上斯坦福
- 2023-04-25 501浏览
-
- 单块V100训练模型提速72倍!尤洋团队新成果获AAAI 2023杰出论文奖
- 2023-04-24 501浏览
-
- ChatGPT 真的会接管世界吗?
- 2023-04-13 501浏览
-
- VR的终极形态是「假眼」?Neuralink前联合创始人掏出新产品:科学之眼!
- 2023-04-30 501浏览
-
- 实现实时制造可视性优势有哪些?
- 2023-04-15 501浏览

