小黄鸡机器人和小I机器人的调用
<?php
//---------------------------------聊天小机器人类-----------------------------------------------
class Robot{
/*
*小黄鸡聊天机器人
*@param para 输入的数据
*return true=>小黄鸡返回的数据
* false=>返回一条最近一次cURL操作明确的文本的错误信息
*/
public function xiaohuangji($para){
$url = "http://www.xiaohuangji.com/ajax.php";
//初始化curl
$ch = curl_init();
//设置请求url网址
curl_setopt($ch, CURLOPT_URL, $url);
//捕获url响应信息以文件流形式返回,不直接输出
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//设置请求头信息,启用时会将头文件的信息作为数据流输出。
curl_setopt($ch, CURLOPT_HEADER, 0);
//设置传输post数组
$data = array(
'para' => $para
);
//设置开启post请求
curl_setopt($ch, CURLOPT_POST, 1);
//传输参数值
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
//执行curl
$output = curl_exec($ch);
//关闭句柄
curl_close($ch);
if($output === false){
return false;
}
return $output;
}
/*
*小i机器人
*@param userId 用户id
*@param 向小i机器人提出的问题
*/
public function xiaoi($userId, $question){
header('Content-type:text/html;charset=utf-8');
//生成签名
$app_key="ptOUo2U8STxD";
$app_secret="RkIKyErH0w6wVTyv1nHT";
$realm = "xiaoi.com";
$method = "POST";
$uri = "/robot/ask.do";
$nonce="";
$chars = "abcdefghijklmnopqrstuvwxyz0123456789";
for ( $i = 0; $i < 40; $i++)
$nonce .= $chars[ mt_rand(0, strlen($chars) - 1) ];
$HA1 = sha1($app_key . ":" . $realm . ":" . $app_secret);
$HA2 = sha1($method . ":" . $uri);
$sign = sha1($HA1 . ":" . $nonce . ":" . $HA2);
$url = "http://nlp.xiaoi.com/robot/ask.do";
$userId = urlencode($userId);
$question = urldecode($question);
//初始化curl
$ch = curl_init();
//设置请求url网址
curl_setopt($ch, CURLOPT_URL, $url);
//捕获url响应信息以文件流形式返回,不直接输出
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//设置请求头信息,启用时会将头文件的信息作为数据流输出。
curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-Auth:app_key="'.$app_key.'",nonce="'.$nonce.'",signature="'.$sign.'"'));
//设置开启post请求
curl_setopt($ch, CURLOPT_POST, 1);
//传输参数值
curl_setopt($ch, CURLOPT_POSTFIELDS, "question=".$question."&userId=".$userId);
//执行curl
$output = curl_exec($ch);
//关闭句柄
curl_close($ch);
if($output === false){
return false;
}
return $output;
}
}
//--------------------------------------测试区------------------------------------
/*
$robot = new Robot();
echo $robot->xiaohuangji("你是男的还是女的");
*/
//$robot = new Robot();
//echo $robot->xiaoi("aa", "你有病啊!");
小黄鸡机器人和小I机器人的调用的更多相关文章
- Simsimi 小黄鸡机器人最新无限制接口api simsimi机器人接口api 微信公众号
一.什么是Simsimi? simsimi公司是提供智能服务,其中一个服务是simsimi聊天机器人服务,每天有超过百万的用户聊天,国内最大的搜索引擎——百度的产品siri使用的就是simsimi提供 ...
- PIGCMS 关闭聊天机器人(小黄鸡)
无脑操作举例 1.找到 WeixinAction.class.php 文件,路径: 你的版本\PigCms\Lib\Action\Home 2.查询 function chat ,在 chat() 函 ...
- C# Winfrom小黄鸡功能调用
最近研究微信公众平台,搭建了一个微信聊天机器人,调用小黄鸡的公众接口,实现在线和小黄鸡聊天的功能. 接口调用不是很麻烦,不过是php版本,所以研究了一下C#的功能模块, Winfrom版 后台界面代码 ...
- 用java实现Simsimi小黄鸡接口
package com.iask.webchat.chatmachine; import java.io.BufferedReader; import java.io.InputStream; imp ...
- qt调用simsimi api实现小黄鸡
项目地址:https://github.com/racaljk/xiaojianji 好吧我把它命名为小贱鸡.,下面说一说他的实现. 由于官方的simsimi api需要收费,免费试用版有各种限制,所 ...
- [置顶]
几行代码实现ofo首页小黄人眼睛加速感应转动
最新版的ofo 小黄车的首页小黄人眼睛随重力而转动,感觉有点炫酷,学习一下吧,以下代码是在xamarin android下实现 ofo首页效果图: xamarin android实现效果: 实现思路: ...
- 我的代码真的没有bug,稍等,先试试小黄鸭调试法
今天测试同学为了赶进度,加班去测试我的功能. 因为我的代码都写完了,也没有陪测的必要,所以就没去了~ 下午第一个问题提过来,根据经验,这个应该是测试的逻辑问题,最后他自己也发现了. 过了一会,提了第二 ...
- 关于小黄车(ofo共享单车)使用的问题
小黄车即ofo共享单车,号称是全球创立最早.成长最快.规模最大的无桩共享单车创业公司,缔造了"共享单车"概念,致力于解决城市出行问题.它的出现给大家带来了方便,作为一个商业运行的公 ...
- css3实现小黄人
效果就像这样: 不废话,直接上代码! hrml代码: <!DOCTYPE html> <html> <head lang="zh"> <m ...
随机推荐
- 数据库事务的4个特性ACID
原子性(Atomicity[ætə'mɪsɪti])原型atomic.一致性(Consistency).隔离性(Isolation).持久性(Durability)
- Working with bounded Task Flows
Working with Bounded Task Flows, Regions and Routers in JDeveloper 11g Purpose In this tutorial, y ...
- 【Android 应用开发】OpenGL ES 2.0 -- 制作 3D 彩色旋转三角形 - 顶点着色器 片元着色器 使用详解
最近开始关注OpenGL ES 2.0 这是真正意义上的理解的第一个3D程序 , 从零开始学习 . 案例下载地址 : http://download.csdn.net/detail/han120201 ...
- 一个简单的基于 DirectShow 的播放器 2(对话框类)
上篇文章分析了一个封装DirectShow各种接口的封装类(CDXGraph):一个简单的基于 DirectShow 的播放器 1(封装类) 本文继续上篇文章,分析一下调用这个封装类(CDXGrap ...
- Centos下grep命令简介
grep命令简介 grep 是一个最初用于Unix操作系统的命令行工具.在给出文件列表或标准输入后,grep会对匹配一个或多个正则表达式的文本进行搜索,并只输出匹配(或者不匹配)的行或文本. grep ...
- Linux - mail
使用者邮件信箱: mail 使用 wall, write 毕竟要等到使用者在在线才能够进行,有没有其他方式来联络啊? 不是说每个 Linux 主机上面的用户都具有一个 mailbox 吗? 我们可否寄 ...
- 用C语言将一个数开根号后再取倒数的方法
在上学的时候,曾经看过有人写过这样的算法,就是将一个数开根号后再取倒数的算法,我本人也觉得十分巧妙,于是就将它积累了下来,让我们来看看是怎么回事: #include <stdio.h> # ...
- Android开发技巧——高亮的用户操作指南
Android开发技巧--高亮的用户操作指南 2015-12-15补记: 发现使用PopupWindow进行遮罩层的显示,在华为P7上会有问题.具体表现为:画出来的高亮部分会偏下.原因为:通过view ...
- 超高速前端开发工具——Emmet
[由于 CSDN 不支持富文本编辑器写的文章迁移到 Markdown 编辑器中修改,已重发了一个重新排版的版本, 新版链接:http://blog.csdn.net/ys743276112/artic ...
- Java 必看的 Spring 知识汇总!有比这更全的算我输!
往 期 精 彩 推 荐 [1]Java Web技术经验总结 [2]15个顶级Java多线程面试题及答案,快来看看吧 [3]面试官最喜欢问的十道java面试题 [4]从零讲JAVA ,给你一条清晰 ...