本文一共使用了两个机器人:小黄鸡,小逗比机器人,二者相互调用避免程序出现异常。已经本人调试,完全能用!

第一个(小黄鸡机器人):

package com.web;

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("你是谁"));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

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", "*
    public static String removeNews(String sendMsgs) {
        // 去除广告
        if (sendMsgs.indexOf("sim") != -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("小逗比", "小黄鸡");
       
        return sendMsgs;
    }
}

第二个(小逗比机器人):

package com.web;

import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.CoreConnectionPNames;
import org.apache.http.util.EntityUtils;

import weixin.sdk.common.HttpClientConnectionManager;

public class XiaoDouMachine {

public static void main(String[] args) {
        try {
            System.out.println(getXiaoDouMsg("你是谁"));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

public static String getXiaoDouMsg(String msg) {
        // 读取结果网页
        StringBuffer sbRes = new StringBuffer();
        HttpClient httpClient = new DefaultHttpClient();// 创建httpClient对象
        try {
            // 请求超时
            httpClient.getParams().setParameter(
                    CoreConnectionPNames.CONNECTION_TIMEOUT, 20000);
            // 读取超时
            httpClient.getParams().setParameter(
                    CoreConnectionPNames.SO_TIMEOUT, 20000);
           
            HttpGet get = HttpClientConnectionManager.getGetMethod("http://www.xiaodoubi.com/bot/api.php?chat="+msg);

HttpResponse responce = httpClient.execute(get);// 得到responce对象
            int resStatu = responce.getStatusLine().getStatusCode();// 返回码
            if (resStatu == HttpStatus.SC_OK) {// 200正常 其他就不对
             String txt = EntityUtils.toString(responce.getEntity(), "utf-8");
                sbRes.append(txt);
            }
        } catch (Exception e) {
            System.out.println("小逗比机器人接口调用出错!" + e.getMessage());
            return "小黄鸡被你玩坏了,~~~~(>_<)~~~~ ";
        } finally {
            httpClient.getConnectionManager().shutdown();
        }

// 调用小九接口
        if (sbRes.toString().equals("") || sbRes.toString().equals("干嘛")) {
         return "小黄鸡被你玩坏了,~~~~(>_<)~~~~ ";
        }

String finalRes = removeNews(sbRes.toString());
        return finalRes;
    }

public static String removeNews(String sendMsgs) {
        if (sendMsgs.indexOf("xiaodoubi") != -1) {
            sendMsgs = "伦家不懂官人的话了啦~";
        } else if (sendMsgs.indexOf("sim") != -1) {
            sendMsgs = "伦家不懂官人的话了啦~";
        } else if (sendMsgs.indexOf("douqq") != -1) {
            sendMsgs = "伦家不懂官人的话了啦~";
        }
        sendMsgs = sendMsgs.replaceAll("傻逼", "sb");
        sendMsgs = sendMsgs.replaceAll("小逗比", "小黄鸡");
        return sendMsgs;
    }
}

微信小黄鸡智能陪聊功能实现相关推荐

  1. 【教程】教你写一个简单的微信小黄鸡

    本文仅供技术交流,如果侵犯到了任何组织或个人的权益,请在本文留言,主页君会妥善处理. 前段时间人人网上的小黄鸡着实火了一把,而最近微信收费风波又炒得沸沸扬扬.主页君凑热闹写一篇教程:如何在微信公众平台 ...

  2. java simsimi_“小黄鸡”中文聊天机器人的详细说明.

    小黄鸡语料库 小的黄鸡语料库小黄鸡聊天机器人接口,简单的人工智能开发,非常实用. 微信小黄鸡实现代码 小黄鸡模拟api,模拟小黄鸡调用html 小黄鸡50W聊天 与小黄鸡一起进行的50W问答会话均使用 ...

  3. python自动发送微信公众号_使用python一步一步搭建微信公众平台(四)----将小黄鸡引入微信自动回复...

    通过前三篇的教程,相信大家基本上了解了微信开发的基本流程,先判断用户传入数据的类型MsgType,然后再获取用户输入的内容content,再对content进行处理,再返回给用户 现在我们来加点料,在 ...

  4. Simsimi 小黄鸡机器人最新无限制接口api simsimi机器人接口api 微信公众号

    一.什么是Simsimi? simsimi公司是提供智能服务,其中一个服务是simsimi聊天机器人服务,每天有超过百万的用户聊天,国内最大的搜索引擎--百度的产品siri使用的就是simsimi提供 ...

  5. 或许,大家知道小黄鸡是一个机器人之后,会很失望。但是,这似乎也说明了,能随叫随到陪你聊天的人,或许是不存在的...

    或许,大家知道小黄鸡是一个机器人之后,会很失望.但是,这似乎也说明了,能随叫随到陪你聊天的人,或许是不存在的 转载于:https://www.cnblogs.com/softidea/p/408360 ...

  6. 微信公众平台接入机器人小黄鸡

    微信公众平台接口开放后,公司也想接入机器人,申请的免费小黄鸡key可以免费试用30天,但每天请求次数有限制,抓包模拟访问官网的在线试用.由于答案的不可预知,接入后回答的答案不太理想,用来过滤规则太多, ...

  7. 智能聊天机器人小黄鸡及其制作方法

    讲前先预热一下,如果有还不熟悉小黄鸡的亲~欢迎大家戳这里 http://mysimi.sinaapp.com/ 自制小黄鸡一枚,欢迎测试.. 暂且叫他小黄鸡2号~1号在后面哈 大家好,我是沐儿,今天很 ...

  8. [开源]java版QQ机器人集成小黄鸡功能

    项目采用开源程序IQQ.内置webQQ协议.并且使用十分方便.直接调用即可.      项目采用webService接口调用可以不用重新登录QQ即可实现项目的修改.测试期间 多次登录QQ导致QQ被检测 ...

  9. 利用simsimi小黄鸡接口,做一个微信公共账号上的机器人

    最近被无聊之风感染了,想调戏下小黄鸡,就直接去官网www.simsimi.com,上看了下,本来想直接抓取网页的,结果出现这种情况 无奈之下,注册了账号,既然是收费了,免费的只能用一周 直接上代码吧 ...

最新文章

  1. epoll示例(边沿触发)
  2. java dexclassloader_DexClassLoader加载apk
  3. 软件项目管理0711:团队成员怕担责任
  4. Codeforces Round #617 (Div. 3) E2. String Coloring (hard version) 思维 + dp + Dilworth定理
  5. google annotation笔记
  6. ubuntu安装jdk6
  7. lf 前后端分离 (5) 优惠券
  8. Badboy安装教程(含下载地址)
  9. python 修改ip地址
  10. macOS Big Sur 11.7.2 (20G1020) 正式版 ISO、PKG、DMG、IPSW 下载
  11. 01-交换机级联实验
  12. 无线路由器DNS服务器异常,fast无线路由器dns异常的解决方法
  13. jQuery动画slideUp()不正常位移原因
  14. java订单到期自动取消_订单自动过期实现方案
  15. unity编辑器一些设置
  16. 你的背包背到现在还没烂
  17. 小型直播系统系列-乐聊TV的开发(三)
  18. 高校新闻抓取分析之百度新闻篇---数据抓取
  19. 2021 ICPC 南京 3.27训练赛
  20. 多张照片合成视频和给视频添加背景音乐

热门文章

  1. Edraw Max(亿图图示)教程:使用免费模板和示例快速制作发票?
  2. 淘宝按关键词搜索示例
  3. qt Event Filter 控制Ctrl Shift Alt键
  4. C#winform+SqlServer 眼镜店管理系统
  5. 计算机网络知识全面讲解:域名的结构
  6. 什么是序列化、反序列化
  7. 学前教育计算机课程内容,学前教育专业《计算机基础教学大纲》
  8. Java实现连接数据库验证登录和注册(附详细知识点讲解)
  9. 手把手教你使用Python网络爬虫获取B站视频选集内容(附源码)
  10. Sothink.SWF.Decompiler.v4.5-SHOCK