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 { BufferedReader strin=new BufferedReader(new InputStreamReader(System.in)); System.out.print("请输入一个字符串:"); while(true) { String str = strin.readLine(); System.out.println(getSimsimiContentByNiuren(str)); } } 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); } 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; } }
相关推荐
小黄鸡接口支持JSON、Array和TXT三种数据格式,这是为了让不同的客户端或应用场景能够方便地调用。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。...
从网页上扒下来的小黄鸡智能聊天的接口,然后写了demo,调用总共也就几行代码,好吧,可以作为想要在python程序内加入小黄鸡的接口样例,我在微信平台测试过了,效果拔群,由于是扒下来的接口,请自行斟酌使用。
从"小黄鸡"的名称来看,这个工具可能带有一定趣味性,让开发过程更为轻松。而"psp接口"可能是指个人系统提供商(Personal System/Professional)接口,或者是某种特定的API接口标准。 在使用"小黄鸡php接口加强版...
【标题】"Python写的QQ空间小黄鸡"项目是一个基于Python技术实现的互动聊天机器人,主要功能是在QQ空间中模拟用户与"小黄鸡"的对话,为用户提供趣味性、娱乐性的聊天体验。这个项目已经经过导师的指导,并在期末大...
小黄鸡SimSimi是一个人工智能驱动的聊天机器人,能够与用户进行生动的对话。本次分享主要针对的是PHP开发者,提供了如何在PHP代码中实现调用SimSimi接口的示例代码,以便开发者们可以将这一功能集成到自己的应用中。...
运行后,机器人将会连接到QQ服务器并开始监听消息,当收到消息时,它将通过小黄鸡接口生成回复并自动发送。 总的来说,QQ智能回复机器人是Java编程和AI技术结合的实例,它展示了如何利用现有的聊天机器人服务来扩展...
【易语言小黄鸡网络问答源码】是一个基于易语言编程环境开发的网络问答系统源代码,主要用于学习和研究易语言在网络通信领域的应用。易语言是中国本土开发的一种面向对象的编程语言,以其简明易懂的语法设计,使得...
3. 发送请求:调用API函数,将请求发送到小黄鸡网络问答平台的服务器。 4. 接收响应:等待服务器的响应,这可能包括问题的答案或其他相关信息。 5. 数据解析:解析接收到的服务器响应,提取出有用的信息,如答案文本...
摘要:PHP源码,插件模块,微信接口 小九机器人是微信论坛提供的聊天机器人,目前开放测试中,该api暂不限制调用次数,功能比小黄鸡更全面 小九现在还支持: 计算功能 (计算1+1,计算3的平方 等); XX是什么; ...
由于开源语料库有限,本设计选择了电影独白语料库和小黄鸡语料库,最终选择了训练速度较快的小黄鸡语料进行学习。语料需经过句子和向量的转换、构建问答对、拆分处理,然后训练深度模型,以实现语音识别与文字转换,...
在这个案例中,EGQQ还支持对接小黄鸡API,小黄鸡是一款流行的情感智能聊天机器人,能够进行更为生动有趣的对话。调用外部API需要了解HTTP请求、JSON数据格式以及API接口的设计。 此外,EGQQ允许用户自定义聊天字体...
"TulingDemo"就是这样一款应用,它巧妙地利用了图灵机器人的API,实现了与用户进行智能对话的功能,犹如微信中的小黄鸡,给用户带来趣味性和互动性的同时,也展示了AI技术的魅力。 首先,我们要理解图灵机器人是...
在这个设计中,选择了小黄鸡语料库进行训练。 8. **深度学习模型**:为了实现更智能的对话,可能采用了深度学习模型,如循环神经网络(RNN)、长短期记忆网络(LSTM)等,这些模型能理解和生成连续的文本序列。 9....
了解系统调用接口和内存管理策略是成为低级程序员的必经之路。 8. **Linux内核黑客**: - 这是针对Linux内核的高级研究,包括修改内核源代码、调试内核模块、性能分析和安全审计。 9. **低级编程**: - 低级编程...
为了实现日志组件的互换性和可扩展性,可以定义一个标准化的日志接口,允许不同模块使用相同的日志记录方式,同时也方便替换不同的日志实现。 9. `logger-main`项目: 这个文件名暗示可能是一个Go项目的主入口文件...
让我们深入探讨一下如何利用这个库以及背后涉及的Linux系统接口。 首先,`sysinfo`库通常包含以下主要模块: 1. **CPU信息**:通过调用`/proc/stat`文件来获取CPU的总体使用情况,包括用户时间(user),系统时间...
值得注意的是,为了保证用户的支付安全,`nativescript-izettle`遵循了PCI DSS(Payment Card Industry Data Security Standard)标准,所有的敏感信息都会在本地处理,不会通过应用的网络接口传输。 在实际应用中...
多态(polymorphism)允许使用同一接口调用不同类的方法,提供灵活性。 8. **模板**:模板是泛型编程的工具,可以创建泛型函数和泛型类,提高代码复用。 9. **输入/输出流**:C++使用`iostream`库处理输入输出,如...
这个资源可能包含了多个小项目,每个项目都旨在帮助用户深入理解和掌握Java编程的各种核心概念和技术。以下是对其中可能包含的知识点的详细阐述: 1. **基础语法**:项目可能涵盖Java的基础语法,如数据类型(包括...
4. **示例**:示例服务和客户端代码,演示如何创建、部署和调用Web服务,这对于初学者来说是非常有价值的资源。 5. **配置文件**:可能包括服务器配置、服务部署描述符等,这些文件指导了Axis1如何运行和设置Web...