`
jilong-liang
  • 浏览: 481500 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类

用java实现Simsimi小黄鸡接口

    博客分类:
  • Java
阅读更多
package com;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;

/**
 * 小黄鸡机器人
 */
public class SimsimiTools {

    public static void main(String[] args) {
        try {
            //System.out.println(getSimsimiContentByNiuren("很伤心"));
            getSimsimiContentByNiuren("乱说");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * 小黄鸡机器人
     * 
     * @author ghma
     */
    public static String getSimsimiContentByNiuren(String params) {
        StringBuffer bufferRes = new StringBuffer();
        try {
            URL realUrl = new URL( "http://www.niurenqushi.com/app/simsimi/ajax.aspx");
            HttpURLConnection conn = (HttpURLConnection) realUrl .openConnection();
            // 连接超时
            conn.setConnectTimeout(25000);
            // 读取超时 --服务器响应比较慢,增大时间
            conn.setReadTimeout(25000);

            HttpURLConnection.setFollowRedirects(true);
            // 请求方式
            conn.setRequestMethod("POST");
            conn.setDoOutput(true);
            conn.setDoInput(true);
            conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0");
            conn.setRequestProperty("Accept", "*/*");
            conn.setRequestProperty("Referer", "http://www.niurenqushi.com/app/simsimi/");
            conn.connect();
            // 获取URLConnection对象对应的输出流
            OutputStreamWriter out = new OutputStreamWriter(
                    conn.getOutputStream());
            // 发送请求参数
            out.write("txt=" + URLEncoder.encode(params, "UTF-8"));
            out.flush();
            out.close();

            InputStream in = conn.getInputStream();
            BufferedReader read = new BufferedReader(new InputStreamReader(in,
                    "UTF-8"));
            String valueString = null;
            while ((valueString = read.readLine()) != null) {
                bufferRes.append(valueString);
                System.out.println("aaaaaaaaaa"+bufferRes.toString());
            }
            in.close();
            if (conn != null) {
                // 关闭连接
                conn.disconnect();
            }
        } catch (Exception e) {
            System.out.println("小黄鸡接口调用出错!" + e.getMessage());
            //return XiaoDouMachine.getXiaoDouMsg(params);
        }

        if (bufferRes.toString().equals("干嘛")) {
          //  return XiaoDouMachine.getXiaoDouMsg(params);
        }

        String finalRes = removeNews(bufferRes.toString());
        System.out.println("小黄鸡机器人回复:" + finalRes);
        return finalRes;
    }

    /**
     * 屏蔽当前接口中的广告
     * 
     * @return
     */
    public static String removeNews(String sendMsgs) {
        // 去除广告
        if (sendMsgs.indexOf("simsimi2") != -1) {
            sendMsgs = "偶是毛小驴,女,还木有男友,欢迎南华学子调戏   O(∩_∩)O";
        } else if (sendMsgs.indexOf("Database") != -1
                || sendMsgs.indexOf("Failed") != -1) {
            int random = (int) (Math.random() * 5);
            switch (random) {
            case 1:
                sendMsgs = "嗯";
                break;
            case 2:
                sendMsgs = "聊天其它的吧";
                break;
            case 3:
                sendMsgs = "嗯哼";
                break;
            case 4:
                sendMsgs = "哎呀";
                break;
            case 5:
                sendMsgs = "额";
                break;
            default:
                sendMsgs = "嗯";
                break;
            }
        } else if (sendMsgs.indexOf("Unauthorized access") != -1) {
            sendMsgs = "我怎么听不懂你说的什么意思呀[大哭]。咱们能换个话题吗!";
        } else if (sendMsgs.indexOf("你可以教我回答") != -1) {
            sendMsgs = "好吧";
        }
        // 替换部分内容
        sendMsgs = sendMsgs.replaceAll("傻逼", "sb");
        sendMsgs = sendMsgs.replaceAll("小九", "毛小驴");
        // sendMsgs = sendMsgs.replaceAll("小豆", "小贱贱");
        sendMsgs = sendMsgs
                .replaceAll(
                        "小豆机器人网页版地址:http://xiao.douqq.com QQ个性网http://www.xiugexing.com",
                        "伦家不懂官人的话了啦~");
        sendMsgs = sendMsgs.replaceAll("小豆", "毛小驴");
        sendMsgs = sendMsgs.replaceAll("人家", "伦家");
        sendMsgs = sendMsgs.replaceAll("林晨爱你QQ个性网http://www.xiugexing.com",
                "伦家不懂官人的话了啦~");
        return sendMsgs;
    }
}

 

分享到:
评论

相关推荐

    Simsimi 小黄鸡 小贱鸡 C#实现 官方 API

    通过C#实现,编译平台VS2012 .net4.0 代码中url中提示需要改为api key 的可以自己到http://developer.simsimi.com/申请官方的api key试用。填入后,编译,可正常对话。

    simsimi(小黄鸡)api无限制调用代码

    simsimi官方api需要申请授权的key才能调用,试用只能维持7天。小黄鸡啊小黄鸡~~ 网上搜索和整理了一钟可以无限次小调用api的方法。压缩包中是PHP方式的实现。根据里面的原理可以实现JAVA或.net。

    WechatWithSimsimi:使用Simsimi(小黄鸡)作为自动回复的微信公众号后台

    使用Simsimi(小黄鸡)作为自动回复的微信公众号后台 Made By caorui 技术及项目相关: 1.使用Maven管理项目; 2.使用Jifinal作为Web框架; 3.语言为Java; 4.开发IDE为Eclipse; 应用的前提: 1.有一个腾讯的微信...

    php版小黄鸡simsimi聊天机器人接口分享

    标题和描述中提到的关键知识点主要集中在PHP语言开发的小黄鸡SimSimi聊天机器人接口使用上。小黄鸡SimSimi是一个人工智能驱动的聊天机器人,能够与用户进行生动的对话。本次分享主要针对的是PHP开发者,提供了如何在...

    小黄鸡 安卓手机版

    小黄鸡哦 安卓的啊 可以自由聊天,也可以调戏她。

    Android-小黄鸡聊天机器人Simsimichatbot

    【Android-小黄鸡聊天机器人Simsimichatbot】是一款基于Android平台的聊天应用,其核心功能是与用户进行互动对话。Simsimi是一款源自韩国的智能聊天机器人,它运用了自然语言处理(NLP)和机器学习技术,能够理解和...

    小黄鸡”中文聊天机器人的详细解释.

    小黄鸡中文聊天机器人的实现并不需要复杂的算法和开发经验,只要你有使用人人、腾讯或其他开放平台 API 的开发经验(XX 俱乐部、XX 团队人一般都有经验),只要你会一点编程语言(PHP,Python,Java 等都可以),你...

    simsimi官方api微信平台代码案例

    simsimi官方测试api的微信平台案例,经过调试修改试用key后可用。

    Simsimi-Web-Implementation:simsimi API 的 Web 实现

    适用于Web的Simsimi API实现 这是 simsimi API 的一个简单实现,它允许来自所需 Web 源的 JSON 请求。 从developers.simsimi.com 获取API 密钥并更改script.js 中的apiKey 变量。 将 php 文件夹中的 api.php 上传到...

    simsimi

    《SimSimi:HTML在对话...通过HTML,SimSimi能够更好地组织和理解对话数据,实现智能化的响应生成,从而为用户提供独特的交互体验。同时,HTML也简化了开发和维护的过程,体现了其在现代技术栈中的广泛适应性和实用性。

    ChatSimi:直接与simsimi聊天,无需输入。

    这个项目的核心是实现一个用户友好的界面,通过自动发送预先设定的语句来与Simsimi接口进行通信。以下是关于ChatSimi及其相关技术的知识点: 1. **Simsimi**: Simsimi是一款人工智能聊天机器人应用,它使用自然语言...

    卖萌机器simsimi

    可以和它对话、不能回答的可以教它、恢复速度最快的机器

    simsimi-weibo:从simsimi中我们获得了自动重播消息,因此它可以在微博中作为机器人工作。

    simsimi-weibo from simsimi we get auto-replay messeage, so it can work as a robot in weibo ... 1.启动消息处理队列 node server.js 2.引用simsimi.js 模块 ,调用ask方法 即可获得auto-replay

    仿QQ聊天窗口

    在前端,开发者可能使用了HTML、CSS和JavaScript等Web技术来构建界面,通过CSS实现QQ聊天窗口的布局、颜色、字体等视觉效果,同时使用JavaScript处理用户的点击事件,模拟聊天窗口中的消息发送、接收和滚动显示等...

    PHP实现QQ空间自动回复说说的方法

    10. 可借鉴的编程思路:文件内容虽然涉及特定的接口和技术细节,但其实现自动回复的思路和方法可以作为学习和解决其他类似问题的参考,如自动化的客户服务机器人等。 通过上述知识点,我们可以了解到实现PHP对QQ...

    基于Live2d技术的虚拟形象物联网交互软件-周秉亮 毕设报告1

    - **物联网接口**:设计与物联网设备通信的接口,允许虚拟形象控制家用电器。 - **智能应答系统**:利用人工智能技术,让虚拟形象能够进行智能对话和问题解答。 5. **预期工作结果** 预期的成果是一个完整的软...

    intel-edison-birdman-cocoro:BIRDMAN(http),您可以在其中与诸如毛绒动物和冰箱之类的事物进行对话

    爱迪生·伯德曼·可可罗 BIRDMAN( 在 Faire 2015上推出的作品,您可以在其中与动物毛绒玩具和冰箱等事物进行对话。 使用爱迪生创建。 借助cocoro,让任何对象都为之心动... SimSimi AI对话程序API Docomo AITalk API

    蔡氏电路matlab仿真代码-facebook-incognito-v2:facebook-incognito-v2

    matlab仿真代码Facebook Incognito Chrome扩展程序 Facebook Incognito是我的开源项目,您可以完全免费安装和使用它。...您可以使用消息模板,贴纸或Simsimi Bot进行配置 讯息数 使用count命令显示聊天中的消息count

    2021第17周移动应用榜单变化.docx

    "Simsimi"的快速上升则展示了创新互动应用的魅力,用户通过个性化交互影响应用内容,形成了病毒式传播,但此类成功可能难以复制。 iPad平台方面,没有新应用上榜,且榜单被游戏主导。"Bamboo Paper Notebook"的上升...

Global site tag (gtag.js) - Google Analytics