小黄鸡机器人和小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", "你有病啊!");

上一篇:[BZOJ 3682]Phorni


下一篇:samba server install