腾讯AI开放平台的接口调用指南
最近无意发现腾讯AI开放平台上提供了大量好玩的人工智能云服务,而且是完全免费的。只需要用QQ号登录即可。这么好的东西,作为一个程序员,当然要试试了!
从上图可以看出腾讯AI开放平台提供的人工智能服务主要有自然语言处理,计算机视觉和智能语音三大类。我当然是从最简单的自然语言处理开始学习。
这是腾讯AI开放平台的自然语言处理的API说明:
https://ai.qq.com/doc/nlpbase.shtml
其实也就是我们熟悉的Restful API调用:
新建一个PHP文件,把下面这个链接的源代码粘贴进去:
https://github.com/i042416/wechat/blob/master/tencent/newfile.php
然后在Eclipse里Run As->PHP CLI Application,
即可看到下列输出:“腾讯AI开放平台”这个句子,已经被腾讯人工智能成功分词成了:腾讯,AI,开放,平台。
下面就来解释下PHP代码的主要逻辑。
$appkey = 'LHGNH0usjUTRRRSA';
$params = array(
'app_id' => '2107823355',
'time_stamp' => strval(time()),
'nonce_str' => strval(rand()),
'text' => '腾讯AI开放平台',
'sign' => '',
);
第一行和第四行分别为我在腾讯AI平台上创建的测试应用的key和ID。第五行是发起请求的时间戳,第六行用rand()生成了一个随机数,第七行为希望使用腾讯AI人工智能分词的输入句子,第8行sign是一个需要动态计算出的签名值。
这个签名值在下列PHP函数调用里计算:
$params['sign'] = getReqSign($params, $appkey);
现在进入getRegSign内部:
首先执行ksort对PHP的key-value数组$params按照key进行升序排序,可以比较上图升序排序前和下图排序后的顺序:
接着把字典里每个key-value键值对用key=value&key=value...这种形式连接起来,注意text值需要用urlencode进行编码。
最后把连接好的字符串用md5函数计算出MD5哈希值,然后用strtoupper转成大写,这就是计算好的签名值。
最后一步就是调用doHttpPost发送请求。
Post请求的fields仍然是key=value&key=value这种类型的键值对,参考下面调试器里的截图:
为方便您的参考,我把调试器里显示的$body记录在下面:
app_id=2107823355&time_stamp=1533960023&nonce_str=12169&text=%CC%DA%D1%B6AI%BF%AA%B7%C5%C6%BD%CC%A8&sign=EA9CAC254A17729B20FAF28757E775DD
最后发送请求,得到结果:
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_NOBODY, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($curl);
if ($response === false) {
$response = false;
break;
}
$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
if ($code != 200) {
$response = false;
break;
}
要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:


腾讯AI开放平台的接口调用指南的更多相关文章
- 腾讯AI开放平台的使用
一.腾讯AI开放平台 https://ai.qq.com/ 二.腾讯AI平台支持的功能 三.签名机制 1.计算步骤 用于计算签名的参数在不同接口之间会有差异,但算法过程固定如下4个步骤. 1.将< ...
- 百度AI开放平台- API实战调用
百度AI开放平台- API实战调用 一. 前言 首先说一下项目需求. 两个用户,分别上传了两段不同的文字,要计算两段文字相似度有多少,匹配数据库中的符合条件的数据,初步估计列出来会有60-1 ...
- 基于百度AI开放平台的人脸识别及语音合成
基于百度AI的人脸识别及语音合成课题 课题需求 (1)人脸识别 在Web界面上传人的照片,后台使用Java技术接收图片,然后对图片进行解码,调用云平台接口识别人脸特征,接收平台返回的人员年龄.性别.颜 ...
- 30行代码消费腾讯人工智能开放平台提供的自然语言处理API
腾讯人工智能AI开放平台上提供了很多免费的人工智能API,开发人员只需要一个QQ号就可以登录进去使用. 腾讯人工智能AI开放平台的地址:https://ai.qq.com/ 里面的好东西很多,以自然语 ...
- 百度AI开放平台,语音识别,语音合成以及短文本相似度
百度AI开放平台:https://ai.baidu.com/ 语音合成 from aip import AipSpeech APP_ID=" #'你的 App ID' API_KEY=&qu ...
- selenium自动化 | 借助百度AI开放平台识别验证码登录职教云
#通过借助百度AI开放平台识别验证码登录职教云 from PIL import Image from aip import AipOcr import unittest # driver.get(zj ...
- coding 绑定腾讯云开放平台注意事项
coding升级后需要绑定腾讯云开放平台,按照coding文档的提示操作就好 1.创建腾讯云平台后,不要自定义邮箱和用户名 2.直接绑定原来我们使用的coding账号即可 绑定成功后,邮箱和用户名会自 ...
- WO+开放平台:API调用开发手记(话费计费接口2.0)
WO+能力共享平台(http://open.wo.com.cn)是中国联通推出的开放平台.拥有的丰富电信能力资源以及深度整合挖掘的第三方能力资源等.WO+平台提供的API均为简洁优雅的RESTful风 ...
- 各开放平台API接口通用 SDK 前言
最近两年一直在做API接口相关的工作,在平时工作中以及网上看到很多刚接触API接口调用的新人一开始会感到很不适应,包括自己刚开始做API接口调用的相关工作时,也是比较抓狂的,所有写一序列文章把之前的工 ...
随机推荐
- hdu2063 二分图(基础题)
这个题目适合刚刚接触二分图的同学做哦: 给一个题目链接 点击打开链接. 题目大意,有K个男女匹配方式, 输入数据的第一行是三个整数K , M , N,分别表示可能的组合数目,女生的人数,男生的人数.0 ...
- poj 3468 A Simple Problem with Integers(线段树 插线问线)
#include<iostream> #include<stdio.h> #include<string.h> #define NN 2500000 using n ...
- VC++静态连接库
目录 第1章静态连接库 1 1.1 同名函数的选择 1 1.2 模块合并 2 1.2.1 模块替换 4 1.3 内联函数 4 第1章静态连接库 静态连接库与动态连接库一样 ...
- 纯CSS画WP8界面
我的手机是诺基亚920,13年4月份买的.工作之余,就想用css做一下WP8的界面效果,如上图所示.不做不知道,一做还挺难的.尤其是画那个QQ 的企鹅图标,太难画了.怎么画都不像. <!doct ...
- SQLite学习手册(开篇)
一.简介: SQLite是目前最流行的开源嵌入式数据库,和很多其他嵌入式存储引擎相比(NoSQL),如BerkeleyDB.MemBASE等,SQLite可以很好的支持关系型数据库所具备的一些基本特征 ...
- 【转】Selenium模拟JQuery滑动解锁
滑动解锁一直做UI自动化的难点之一,我补一篇滑动解锁的例子,希望能给初做Web UI自动化测试的同学一些思路. 首先先看个例子. https://www.helloweba.com/demo/2017 ...
- py-day8-socket网络编程
本节内容 Socket介绍 Socket参数介绍 基本Socket实例 Socket实现多连接处理 通过Socket实现简单SSH 通过Socket实现文件传送 作业:开发一个支持多用户在线的FTP程 ...
- lua ffi简介
本文转自网络 由来 FFI库,是LuaJIT中最重要的一个扩展库.它允许从纯Lua代码调用外部C函数,使用C数据结构.有了它,就不用再像Lua标准math库一样,编写Lua扩展库.把开发者从开发Lua ...
- js 排列 组合
<script> //组合 function C(arr, num){ var r=[]; (function f(t,a,n){ if (n==0) return r.push(t); ...
- 【旧文章搬运】PspCidTable概述
原文发表于百度空间,2009-03-28========================================================================== PspCi ...