在线调试
填写业务相关参数免费在线调试
AI舌诊api接口、AI面诊api接口、体质检测api接口、健康报告api接口,中医智能舌面诊API接口,升级版本,舌诊、面诊、问诊三合一api接口,报告更丰富,内容更全面,结果更精准。中医问诊中医AI望诊api接口开放平台。
接口地址:https://api.kuhuyun.com/api/ai/tonguediagnosis
返回格式:application/json
请求方式:HTTPGET/POST
请求示例:https://接口地址?key=你的key
| 名称 | 值 |
|---|---|
| Content-Type | application/x-www-form-urlencoded;charset:utf-8; |
AI舌诊问诊apifox调试:https://s.apifox.cn/84c7b928-f4fc-4ea3-b324-efe362baa23c/450480808e0
AI舌诊回答apifox调试:https://s.apifox.cn/84c7b928-f4fc-4ea3-b324-efe362baa23c/450460590e0
| 名称 | 必填 | 类型 | 示例值 | 说明 |
|---|---|---|---|---|
| key | 是 | string | 35kj5jnlj53453kl5j43nj5 | 接口密钥,在控制台->密钥管理查看 |
| action | 是 | string | diagnose | 默认:diagnose,diagnose(首次诊断)、report(提交答案) |
| tf_image | 三选一 | string | https://#/#.jpg | 舌照图片URL,tf_image、ff_image、tb_image三选一即可 |
| ff_image | 三选一 | string | https://#/#.jpg | 面照图片URL,tf_image、ff_image、tb_image三选一即可 |
| tb_image | 三选一 | string | https://#/#.jpg | 舌下脉络图片URL,tf_image、ff_image、tb_image三选一即可 |
| scene | 否 | int | 1-问答推断(推荐),2-直接生成报告,默认1 | |
| gender | 否 | string | 男 | 性别:男/女 |
| 名称 | 必填 | 类型 | 示例值 | 说明 |
|---|---|---|---|---|
| key | 是 | json | 35kj5jnlj53453kl5j43nj5 | 接口密钥,在控制台->密钥管理查看 |
| action | 是 | json | report | 默认:diagnose,diagnose(首次诊断)、report(提交答案) |
| session_id | 是 | json | 3ab1170c-42b1-11f1-90d6-00163e2ec1d4 | 会话任务id |
| answers | 是 | json | 格式1: {"name": "面色晦暗", "value": "6e0218aa-8785-4202-81ff-228e13cb7b37"} 格式2: {"name": "面色晦暗", "value": "6e0218aa-8785-4202-81ff-228e13cb7b37", "answer": "是"} 或 {"name": "面色晦暗", "value": "6e0218aa-8785-4202-81ff-228e13cb7b37", "answer": "否"} | 格式1:选择包含的事项 格式2:回答是或否事项 |
| 名称 | 类型 | 说明 |
|---|---|---|
| code | int | 状态码 |
| msg | string | 状态信息 |
| data | string | 请求结果数据集 |
session_id | string | 任务会话ID,用ID继续回答问题 |
| debug | string/array | 调试数据 |
| exec_time | float | 执行耗时 |
| user_ip | string | 客户端IP |
{
"code": 200,
"msg": "诊断成功",
"data": {
"code": 20000,
"success": true,
"msg": "成功",
"data": {
"score": 50,
"features": [
{
"feature_category": "舌部",
"feature_group": "舌色",
"feature_name": "舌色暗",
"feature_situation": "异常",
"feature_interpret": "舌色偏暗,多提示气血不畅,血行不通。"
},
{
"feature_category": "舌部",
"feature_group": "舌尖色",
"feature_name": "舌尖红",
"feature_situation": "异常",
"feature_interpret": "舌尖颜色较正常偏红。提示心火上炎,或心肺有热邪。"
},
{
"feature_category": "舌部",
"feature_group": "舌质",
"feature_name": "舌质老",
"feature_situation": "异常",
"feature_interpret": "舌质纹理粗糙或皱缩,形色坚敛苍老,舌色较暗的表现。多提示体内有实证。"
},
{
"feature_category": "舌部",
"feature_group": "舌齿痕",
"feature_name": "正常",
"feature_situation": "正常",
"feature_interpret": "无明显齿痕。"
},
{
"feature_category": "舌部",
"feature_group": "舌裂纹",
"feature_name": "正常",
"feature_situation": "正常",
"feature_interpret": "无明显裂纹。"
},
{
"feature_category": "舌部",
"feature_group": "舌形胖瘦",
"feature_name": "正常",
"feature_situation": "正常",
"feature_interpret": "舌体胖瘦适中。"
},
{
"feature_category": "舌部",
"feature_group": "舌点刺",
"feature_name": "舌点刺",
"feature_situation": "异常",
"feature_interpret": "舌乳头突起,高起如刺,摸之棘手。多见于热邪内结,邪热亢盛。"
},
{
"feature_category": "舌部",
"feature_group": "舌瘀斑瘀点",
"feature_name": "正常",
"feature_situation": "正常",
"feature_interpret": "舌面无明显瘀斑、瘀点。"
},
{
"feature_category": "舌部",
"feature_group": "苔色",
"feature_name": "舌苔黄白相兼",
"feature_situation": "异常",
"feature_interpret": "舌面上附着的苔垢颜色黄白相兼。多提示外感表证处于化热入里、表里相兼的状态。"
},
{
"feature_category": "舌部",
"feature_group": "舌苔腻",
"feature_name": "正常",
"feature_situation": "正常",
"feature_interpret": "舌苔不腻。"
},
{
"feature_category": "舌部",
"feature_group": "舌苔腐",
"feature_name": "正常",
"feature_situation": "正常",
"feature_interpret": "舌苔不腐。"
},
{
"feature_category": "舌部",
"feature_group": "舌苔厚薄",
"feature_name": "舌苔薄",
"feature_situation": "正常",
"feature_interpret": "透过舌苔可以看到舌质,是正常舌苔。常见于健康人群,或病情较轻者。"
},
{
"feature_category": "舌部",
"feature_group": "舌苔润燥",
"feature_name": "舌苔水滑",
"feature_situation": "异常",
"feature_interpret": "舌面水分过多,伸舌欲滴。提示痰饮、水湿较重。"
},
{
"feature_category": "舌部",
"feature_group": "舌苔剥脱",
"feature_name": "正常",
"feature_situation": "正常",
"feature_interpret": "无剥落。"
},
{
"feature_category": "舌部",
"feature_group": "舌尖",
"feature_name": "箭头舌",
"feature_situation": "异常",
"feature_interpret": "舌尖形态尖:肝气上冲。症状:头痛、失眠、头面部皮肤病:牛皮癣、湿疹等。"
},
{
"feature_category": "舌部",
"feature_group": "舌中央",
"feature_name": "脾胃区凹陷",
"feature_situation": "异常",
"feature_interpret": "舌中央凹陷:脾胃虚弱。"
},
{
"feature_category": "舌部",
"feature_group": "舌两侧",
"feature_name": "两侧肝胆区凹或台阶状",
"feature_situation": "异常",
"feature_interpret": "舌两侧凹或平直或有台阶:血虚(肝血不足)。症状:脱发、精力不足、失眠、胆子小等。"
},
{
"feature_category": "舌部",
"feature_group": "舌根部",
"feature_name": "舌根部凹陷",
"feature_situation": "异常",
"feature_interpret": "肾虚(肾气不足,肾阳不足)。"
}
],
"physique_name": "湿热体质、血瘀体质",
"physique_analysis": "您的体质主要是湿热体质兼血瘀体质,体质的形成可能受到多种因素的影响:湿热体质多是因过多进食肉类、细粮、高蛋白、高糖、高油脂等食物,或久坐不动、喜抽烟饮酒、长期生活在潮湿的环境、自身脾气急躁等原因导致身体生湿化热。血瘀体质多因外伤、手术等引起血液流出血管,淤积体内;或者因为感受寒邪、热邪、湿邪等引起身体血液循环障碍;或者因为精神压力大,情绪压抑导致血液循环障碍。",
"typical_symptom": "面部油腻;易长痤疮;情绪烦躁;口中粘腻;口干;口苦;口渴不予饮水;大便粘腻;大便不爽;带下量多;白带黄;白带异味;外阴瘙痒;湿疹;出汗黄;出汗粘;面色晦暗;皮肤偏暗;色素沉着;容易长斑;易患疼痛;口唇暗淡;口唇紫;眼眶暗黑;鼻部暗滞;易脱发;肌肤干燥;皮肤粗糙;月经颜色暗;月经血块多",
"risk_warning": "湿热体质兼夹血瘀体质的人可能会遇到一系列健康挑战。以下是这类体质人群容易出现的一些问题:消化系统问题:可能会经历胃肠不适、腹胀、腹泻、便秘等症状,因为湿热会影响脾胃的运化功能,导致消化吸收不良。皮肤问题:容易出现皮下瘙痒、湿疹、痤疮等皮肤问题。湿热内蕴,易造成皮肤油腻、毛孔堵塞,从而引发各类皮肤炎症。呼吸系统问题:可能会有喉咙痛、咳嗽、鼻塞等症状,湿热上蒸可致肺气不利,影响呼吸顺畅。骨骼肌肉问题:可能会感到关节疼痛、肌肉酸痛,湿邪困阻,气血运行不畅,导致身体沉重不适。心血管疾病:血瘀体质可能导致血液循环不畅,增加心脑血管疾病的风险,如心绞痛、心肌梗死、脑梗死等。疼痛症状:由于血液运行不畅,血瘀体质者常常会有固定部位的疼痛,如胸痛、头痛、关节痛等,疼痛性质可能为刺痛或夜间加重。女性健康问题:女性血瘀体质者容易出现月经不调,如痛经、月经量少且颜色深、有血块,严重时可能导致闭经或崩漏。免疫功能下降:血液循环障碍可能影响免疫细胞的分布与功能,使得身体抵抗力下降,容易感染或患病。",
"syndrome_uuid": "4914f5d8-775f-11eb-94a2-98039b0809cc",
"syndrome_name": "肝胆湿热瘀滞证",
"syndrome_introduction": "因湿热内蕴,肝胆气滞血瘀所致。临床以胁肋胀痛或刺痛,胁下痞块触痛、拒按,纳呆,呕恶,厌油腻,小便黄,舌质红,或有瘀点、瘀斑,舌苔黄腻,脉弦涩而数,或伴见身目发黄,发热,口苦等为特征的证候。",
"advices": {
"food": [
{
"advice": "忌食膏粱厚味、煎炸炙煿之品。",
"title": "禁忌饮食"
},
{
"advice": "饮食中应注意减少脂肪、甜味和黏稠的食物,多吃一些健脾、利水祛湿的食物,比如薏仁粥、鲫鱼豆腐汤、冬瓜汤、赤小豆汤、山药等。",
"title": "建议饮食"
},
{
"advice": "田七瘦肉汤:取田七5克,瘦猪肉200克,生姜3片。田七切片,瘦猪肉切块焯水。将田七、瘦猪肉、生姜放入炖锅,加适量水。大火煮沸后转小火炖1小时。即可食用。",
"title": "食疗建议"
}
],
"music": [
{
"advice": "五音疗法:可用羽调式音乐补肾以益肝,肝木克伐脾土亦可治疗脾之实证。如贝貝多芬:第九交响曲第四乐章《快乐颂》多芬:第九交响曲第四乐章《欢乐颂》等音乐。",
"title": "音乐建议"
}
],
"sleep": [
{
"advice": "夏季暑热多汗,也易导致阳气外泄,使阳气虚于内,要尽量避免强力劳作,大汗伤阳,也不可恣意贪凉饮冷。",
"title": "生活建议"
},
{
"advice": "保持心情愉快,精神乐观,情绪稳定,避免情志为害,减少发病,避免惊恐及忧思恼怒等不良刺激。",
"title": "情志建议"
},
{
"advice": "居住和工作环境应保持通风良好,避免长时间处于高温或闷热环境中,夏季可适当使用风扇、空调降温,但温度不宜过低。",
"title": "居住环境建议"
}
],
"sport": [
{
"advice": "避免久坐、久站、久卧。成人可适当于上午时刻(避炎热)参与如跑步、爬山、武术、气功、太极剑等运动,强度宜中高强度,一周4-6次为宜,每次30-40分钟,以自我感觉不过度劳累为主。",
"title": "运动建议"
}
],
"treatment": [
{
"advice": "在背部沿膀胱经两侧、胸部、肋间进行刮痧。在刮痧部位涂抹适量刮痧油,用刮板棱角刮拭,力度轻柔,背部从上到下、肋间从内向外(注意不要刮在肋骨上)。以出痧为度,每个部位刮拭约20~30次。等刮痧部位印迹消退后可进行第二次刮痧。一般间隔3~7天。10-15次为1个疗程。",
"title": "刮痧疗法"
},
{
"advice": "按摩少冲、行间、三阴交穴,每穴3-5分钟,每天2-3次。以局部有酸胀感,皮肤微红为度。",
"title": "按摩疗法"
},
{
"advice": "将点燃的艾条,对准足三里、阴陵泉、涌泉穴,以局部有温热舒适感为度。每穴每次艾灸15~20分钟,以灸后穴位局部皮肤潮红为度。每日1次,7~10次为1个疗程。可灸2~3个疗程。注意预防烫伤。",
"title": "艾灸法"
},
{
"advice": "取大椎、肺俞、肝俞、膈俞等穴,留罐,每次10~15分钟,起罐。待罐印褪去后,即可再次拔罐。",
"title": "拔罐疗法"
},
{
"advice": "将五倍子3g,研末,用醋调成糊状,置于穴位贴上,贴在肚脐。",
"title": "穴位敷贴法"
},
{
"advice": "取心、脾、内分泌、肾上腺、肾等耳穴。将耳穴消毒,在耳穴上贴王不留行籽或耳穴压丸,用拇、食指进行垂直按压,施压至患出现沉、重、胀、痛感。每穴按压1分钟左右。每穴重复操作2~3遍,每天3~5次。双侧耳穴轮流使用,2日1次替换。",
"title": "耳穴疗法"
},
{
"advice": "可用六字诀进行呼吸训练以达到保健效果。六字诀是一种吐纳法。它是通过呬、呵、呼、嘘、吹、嘻六个字的不同发音口型,唇齿喉舌的用力不同,以牵动不同的脏腑经络气血的运行。方法:首先预备姿势,两足开立,与肩同宽,头正颈直,含胸拔背,松腰松胯,双膝微屈,全身放松,呼吸自然。其次联系呼吸,顺腹式呼吸,先呼后吸,呼所时读字,同时提肛缩肾,体重移至足跟。最后调息, 每个字读六遍后,调息一次,以稍事休息,恢复自然。",
"title": "功法导引"
},
{
"advice": "吴茱萸100g、粗盐300g,共炒至微呈黄色时,倒入布袋内,热敷腹部,盖被保温,15~30分钟左右。亦可先放入布袋内封包,微波炉加热2-3分钟使用。注意预防烫伤。",
"title": "药熨法"
},
{
"advice": "可用花椒、黄芪各30克,延胡索、红花、制附子片各15克,加清水1500毫升,煎沸15~20分钟,将煎好的药汤乘热倒入盆内,待温度适宜泡足,水位高于小腿1/3疗效更佳。每次可持续15~20分钟。每日1~2次,5天为一疗程。注意预防烫伤、头晕、过度出汗等。",
"title": "中药泡足法"
},
{
"advice": "取肝俞、脾俞、肾俞穴放血,放血数滴,至出血量变少即可。",
"title": "放血疗法"
},
{
"advice": "可行叩齿保健法以达到健脾益胃,纳气补肾的效果,古人认为齿健则身健,身健则长寿。方法:口唇轻闭,首先,上下门牙齿叩击9次,然后左侧上下牙齿叩击9次,右侧上下齿叩击9次,最后上下门齿再叩击9次。每日早晚各一次,每次3分钟左右。叩齿时可用双手指有节律地搓双侧耳孔,提拉双耳廓直到发热为止。",
"title": "叩齿保健法"
}
]
},
"goods": [],
"bmi_report": [],
"tf_detect_matches": {
"detect_boxes": [],
"url": "https://mddfiles.oss-cn-shanghai.aliyuncs.com/mdd-back-all/.upload/2026/04/28/015174ee-f7c8-4476-9f75-639f7a371c4f.jpeg"
},
"answers": [
{
"name": "口黏",
"value": "6e0218aa-8785-4202-81ff-228e13cb7b37",
"answer": "是"
},
{
"name": "口苦",
"value": "1ac38456-1ffc-43ec-a9f0-dc0d4bc09ce4",
"answer": "是"
},
{
"name": "口臭",
"value": "da76c79a-d6b0-438c-a924-8df79ff46a0f",
"answer": "是"
},
{
"name": "痤疮",
"value": "914cba9a-3ee5-416c-a86e-a6e65908314f",
"answer": "否"
},
{
"name": "便粘",
"value": "df5740d5-2058-42a1-8c82-bde8ef348005",
"answer": "否"
},
{
"name": "白带色黄",
"value": "277c9347-afd9-4450-9adb-0695f4102205",
"answer": "是"
},
{
"name": "全身沉重",
"value": "243ac379-b0a7-4ff0-a86a-d508488a4652",
"answer": "是"
},
{
"name": "头面斑",
"value": "7f4ceedf-ac16-4f24-9bb6-42d89dc8b3f4",
"answer": "是"
},
{
"name": "面色晦暗",
"value": "6c097f16-31b8-49f3-8988-f929d16fbf14",
"answer": "是"
},
{
"name": "唇暗",
"value": "aa53c3d2-1ba5-41d9-9504-b0793a0a58a8",
"answer": "是"
},
{
"name": "皮下瘀血",
"value": "5562aee1-ddb7-4b94-ac37-d79e474549c4",
"answer": "否"
},
{
"name": "身痛",
"value": "e6267853-ea7c-4d24-a91a-f6fb68e61e0e",
"answer": "是"
},
{
"name": "记忆力差",
"value": "664ff68a-037a-4688-a544-4162e033c320",
"answer": "是"
}
],
"uuid": "307d1d98-58b0-11f1-a93c-00163e2ec1d4"
},
"reason": null,
"log_id": "762d7d700cd343109c001809482d75d1"
},
"exec_time": 1.697293,
"ip": "114.215.182.219"
}
| 错误码 | 类型 | 说明 |
|---|---|---|
| 403 | int | 没有权限 |
| 400 | int | 参数传递不正确 |
| 500 | int | 服务器内部错误 |
<?php
/**
* API请求DEMO
* 建议使用豆包AI写DEMO代码【方法:把本API文档发给豆包要求写一份API请求示例即可获得结果】
*
* 本demo支持GET与POST请求,同时支持签名验证与无需签名。
*/
//你申请的key密钥
$API_KEY = '你的接口密钥,登录控制台后在密钥管理页面申请';
//API接口地址
$API_URL = 'https://api.kuhuyun.com/api/ai/tonguediagnosis';
$get_post_data = array(
//接口参数,一行一个,可按照接口文档-请求参数 的参数填写,或者直接复制开发工具下面的测试代码。
'key' => $API_KEY,
'参数名' => '参数值',
);
//签名校验的 SK:(在用户控制台https://api.kuhuyun.com/user/key的秘钥安全设置->签名校验 开启后才会生效,没开启签名校验留空即可。)
$sk = '56777ab62ff752fbd57ab7228fc2fc43';
/*发起请求API接口:
第1个参数:API接口地址URL,跟上面的同名变量相对应,无需更改。
第2个参数:API接口参数数组,跟上面的同名变量相对应,无需更改。
第3个参数:请求协议(GET或POST),一般默认GET,部分接口需要POST请求,根据实际情况修改为POST即可。
第4个参数:是否验证签名,true验证签名,否则false不验证签名,根据用户控制台 https://api.kuhuyun.com/user/key 的 秘钥安全设置->签名校验 开启后才会生效,如没开启,填写false即可。
第5个参数:如果第4个参数开启验证签名,此处必须填写 SK ,跟上面的同名变量相对应,无需更改。
*/
$resdata = api::send($API_URL, $get_post_data, 'GET', true, $sk); //发起请求,注意这里要选择接口支持的协议,默认GET,可选POST
//打印请求结果
print($resdata);
///////////////你的业务代码可写在这里处理API返回的数据
/**
* API请求类
*/
class api
{
public static function send($API_URL, $get_post_data, $type, $ifsign, $sk)
{
$get_post_data = http_build_query($get_post_data);
if ($ifsign) {
$sign = md5($get_post_data . $sk);
$res = self::send_curl($API_URL, $type, $get_post_data, $sign);
} else {
$res = self::send_curl($API_URL, $type, $get_post_data, null);
}
return $res;
}
//封装好的CURL请求函数,支持POST|GET
public static function send_curl($API_URL, $type, $get_post_data, $sign)
{
$ch = curl_init();
if ($type == 'POST') {
curl_setopt($ch, CURLOPT_URL, $API_URL);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $get_post_data);
} elseif ($type == 'GET') {
curl_setopt($ch, CURLOPT_URL, $API_URL . '?' . $get_post_data);
}
if ($sign) {
curl_setopt($ch, CURLOPT_HTTPHEADER, ['sign:' . $sign]);
}
curl_setopt($ch, CURLOPT_REFERER, $API_URL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$resdata = curl_exec($ch);
curl_close($ch);
return $resdata;
}
}
//jQuery-Ajax
$.ajax({
url: 'https://api.kuhuyun.com/api/ai/tonguediagnosis',
data: {
//接口参数,一行一个,可按照接口文档-请求参数 的参数填写,或者直接复制开发工具下面的测试代码。
key: '你的接口密钥,登录控制台后在密钥管理页面申请',
参数名: '参数值',
},
type: 'GET', //请求协议(GET或POST),一般默认GET,部分接口需要POST请求,根据实际情况修改为POST即可。
dataType: 'json',
success: function(data) {
console.log(data); //请求成功,输出结果到控制台
},
timeout: 3000, //超时时间
error: function(data) {
console.log('请求失败'); //失败处理
}
});
| 子程序名 | 返回值类型 | 公开 | 备 注 | ||
| __启动窗口_创建完毕 | |||||
| 子程序名 | 返回值类型 | 公开 | 备 注 | ||
| Send_API | |||||
| 变量名 | 类 型 | 静态 | 数组 | 备 注 | ||
| REQU_Data | 文本型 | 提交字符串 | ||||
| return | 文本型 | 返回字符串 | ||||
| API_URL | 文本型 | 接口地址 | ||||
| API_KEY | 文本型 | 接口密钥 | ||||
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class Test {
public static void main(String[] args) {
try {
URL url = new URL("https://api.kuhuyun.com/api/ai/tonguediagnosis?key=你的接口密钥,登录控制台后在密钥管理页面申请");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
// 设置请求方式
connection.setRequestMethod("GET");
connection.connect();
// 获取响应码
int responseCode = connection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
// 读取到的内容给line变量
System.out.println(line);
}
reader.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
// 发起一个GET请求
resp, err := http.Get("https://api.kuhuyun.com/api/ai/tonguediagnosis?key=你的接口密钥,登录控制台后在密钥管理页面申请")
if err != nil {
fmt.Println("http get error", err)
return
}
// 读取响应结果
result, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println("http read error", err)
return
}
// 关闭响应结果
defer resp.Body.Close()
fmt.Println(string(result))
}
```
# 导入requests库
import requests
# 设置url
url = 'https://api.kuhuyun.com/api/ai/tonguediagnosis?key=你的接口密钥,登录控制台后在密钥管理页面申请'
# 发送post请求
response = requests.post(url, data={'key1': 'value1', 'key2': 'value2'})
# 获取响应内容
result = response.json()
# 打印结果
print(result)
```
// 以下是使用Node.js进行GET和POST请求API接口的示例代码:
const https = require('https');
const querystring = require('querystring');
// 定义请求选项
const options = {
hostname: 'api.kuhuyun.com',
path: '/api/ai/tonguediagnosis',
method: 'GET'
};
// 发送GET请求
https.get(options, res => {
console.log(`statusCode: ${res.statusCode}`);
res.on('data', d => {
process.stdout.write(d);
});
}).on('error', error => {
console.error(error);
});
// 发送POST请求
const postData = querystring.stringify({
'key1': 'value1',
'key2': 'value2'
});
const postOptions = {
hostname: 'api.kuhuyun.com',
path: '/api/ai/tonguediagnosis',
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': Buffer.byteLength(postData)
}
};
const postReq = https.request(postOptions, res => {
console.log(`statusCode: ${res.statusCode}`);
res.on('data', d => {
process.stdout.write(d);
});
});
postReq.on('error', error => {
console.error(error);
});
postReq.write(postData);
postReq.end();
/*
这个示例代码使用Node.js内置的`https`模块进行HTTP请求。
首先定义了一个GET请求的选项,然后使用`https.get()`方法发送了GET请求。在响应流上注册回调函数,以便在收到响应数据时将其输出到控制台。在出现错误时,也注册了错误处理程序。
类似地,我们也定义了一个POST请求选项,并使用`https.request()`方法发送它。需要在请求头中包含适当的`Content-Type`和`Content-Length`以确保服务器可以正确解析请求体。请求体由`write()`方法写入,并在请求结束时通过调用`end()`方法通知请求对象已经完成。
注意,此示例默认使用`querystring`模块将数据作为x-www-form-urlencoded格式进行编码。如果需要使用其他格式(如JSON),则需要相应地更改请求头和请求体的编码方式。
另外,为了确保HTTPS请求的安全性,您也可以添加其他选项,例如验证服务器证书、设置代理等。
*/
以下是使用C语言进行GET和POST请求API接口的示例代码:
``` c
#include
#include
#include
#include // 需要安装curl库
// API地址
const char* url = "https://api.kuhuyun.com/api/ai/tonguediagnosis";
// GET请求
void getRequest(CURL* curl) {
CURLcode res;
// 设置URL
curl_easy_setopt(curl, CURLOPT_URL, url);
// 执行请求
res = curl_easy_perform(curl);
if(res != CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
}
}
// POST请求
void postRequest(CURL* curl) {
CURLcode res;
// 设置URL
curl_easy_setopt(curl, CURLOPT_URL, url);
// 设置POST数据
const char* postData = "key=你的接口密钥,登录控制台后在密钥管理页面申请&key1=value1";
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, postData);
// 执行请求
res = curl_easy_perform(curl);
if(res != CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
}
}
int main() {
CURL* curl;
CURLcode res;
// 初始化curl
curl = curl_easy_init();
if(curl) {
// 设置SSL验证
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 1L);
// GET请求
getRequest(curl);
// POST请求
postRequest(curl);
// 清理curl资源
curl_easy_cleanup(curl);
}
return 0;
}
```
这个示例代码使用了libcurl库进行HTTP请求。
首先,需要设置API地址。然后,基于`CURL`结构体创建curl句柄,并使用`curl_easy_setopt()`函数设置选项。这里设置了SSL验证,以确保请求的安全性。
在GET请求中,只需将URL设置为选项,然后调用`curl_easy_perform()`函数执行请求即可。
在POST请求中,还需要将POST数据作为字符串传递给`CURLOPT_POSTFIELDS`选项。
需要注意的是,为了避免内存泄漏,应该在使用完curl句柄之后调用`curl_easy_cleanup()`函数进行清理。
除了上述示例代码外,libcurl库还提供了更多高级选项,例如处理HTTP头、上传文件等。可以参考文档进行更详细的了解。
以下是一个使用C++请求API接口的示例代码:
```cpp
#include
#include
int main() {
CURL *curl;
CURLcode res;
std::string url = "https://api.kuhuyun.com/api/ai/tonguediagnosis?key=你的接口密钥,登录控制台后在密钥管理页面申请";
std::string response;
curl = curl_easy_init();
if (curl) {
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, [](char *ptr, size_t size, size_t nmemb, void *userdata) -> size_t {
std::string *response = reinterpret_cast(userdata);
response->append(ptr, size * nmemb);
return size * nmemb;
});
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
res = curl_easy_perform(curl);
if (res == CURLE_OK) {
std::cout << "Response: " << response << std::endl;
} else {
std::cerr << "Error: " << curl_easy_strerror(res) << std::endl;
}
curl_easy_cleanup(curl);
}
return 0;
}
```
解释:
1. 引入需要的头文件:``用于输出结果,``用于使用libcurl库。
2. 定义需要请求的API接口的URL和存储响应数据的字符串变量。
3. 初始化一个CURL对象。
4. 设置CURL对象的参数:请求的URL(`CURLOPT_URL`)、是否跟随重定向(`CURLOPT_FOLLOWLOCATION`)、响应数据的写入函数(`CURLOPT_WRITEFUNCTION`)和响应数据的写入位置(`CURLOPT_WRITEDATA`)。
5. 发送HTTP请求并获取响应数据,判断返回状态码是否OK。
6. 清理CURL对象。
运行该程序会发送GET请求到指定的API接口URL,并在程序终止前将响应数据输出到终端。注意,在使用该示例代码之前需要安装libcurl库。
以下是一个使用C#请求API接口的示例代码:
```csharp
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main(string[] args) {
HttpClient client = new HttpClient();
string url = "https://api.kuhuyun.com/api/ai/tonguediagnosis?key=你的接口密钥,登录控制台后在密钥管理页面申请";
HttpResponseMessage response = await client.GetAsync(url);
if (response.IsSuccessStatusCode) {
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine("Response: " + responseBody);
} else {
Console.WriteLine("Error: " + response.StatusCode);
}
}
}
```
解释:
1. 引用需要的命名空间:`System.Net.Http`用于使用HttpClient类,`System.Threading.Tasks`用于异步执行请求操作。
2. 创建一个HttpClient对象。
3. 定义需要请求的API接口的URL。
4. 发送GET请求到指定的API接口URL,并获取响应结果。
5. 判断响应状态是否成功,如果成功则读取响应数据(使用ReadAsStringAsync方法),否则输出错误信息(使用StatusCode属性)。
运行该程序会发送GET请求到指定的API接口URL,并在程序终止前将响应数据输出到终端。注意,在使用该示例代码之前需要安装.NET Framework或.NET Core SDK。
以下是VB请求API接口的示例代码:
```
' 1. 引入Microsoft XML v6.0库
' 2. 创建一个XMLHTTP对象
Dim xhr As XMLHTTP
Set xhr = New XMLHTTP
' 3. 设置请求的URL、方法,以及是否异步等
xhr.Open "GET", "https://api.kuhuyun.com/api/ai/tonguediagnosis?key=你的接口密钥,登录控制台后在密钥管理页面申请", False
' 4. 发送请求
xhr.send
' 5. 获取响应结果
Dim responseText As String
responseText = xhr.responseText
' 6. 输出响应结果
Debug.Print responseText
' 7. 释放资源
Set xhr = Nothing
```
在这个示例中,我们创建了一个XMLHTTP对象,用于请求API接口。我们先调用`open`方法来设置请求的URL、方法,以及是否异步。然后,我们发送请求,并使用`responseText`属性来获取响应结果。最后,我们将响应结果打印到控制台,完成操作后释放资源,以防止内存泄漏。请注意,以上示例代码为同步请求,如果想使用异步请求,需要设置第三个参数为`True`,并在请求结束时处理`OnReadyStateChange`事件。
| 参数名 | 填写参数值 |
|---|---|
填写业务相关参数免费在线调试
生成符合你的开发语言代码,复制即可
调整你后端部分逻辑代码即可上线使用