simsimi 教程 java_用java实现Simsimi小黄鸡接口

simsimi 教程 java_用java实现Simsimi小黄鸡接口packagecom iask webchat chatmachine importjava io BufferedRead importjava io InputStream importjava io InputStreamR importjava io OutputStream importjava net HttpURLConne impor

package com.iask.webchat.chatmachine;

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();

}

}

/

* 小黄鸡机器人

*

* @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/ 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.dou.com 个性网http://www.xiugexing.com”,

“伦家不懂官人的话了啦~”);

sendMsgs = sendMsgs.replaceAll(“小豆”, “毛小驴”);

sendMsgs = sendMsgs.replaceAll(“人家”, “伦家”);

sendMsgs = sendMsgs.replaceAll(“林晨爱你个性网http://www.xiugexing.com”,

“伦家不懂官人的话了啦~”);

return sendMsgs;

}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/230672.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • adfs是什么_培训与开发的概念

    adfs是什么_培训与开发的概念(如您转载本文,必须标明本文作者及出处。如有任何疑问请与我联系me@nap7.com)ADFS相关开发技术的中文资料相对匮乏,之前在弄这个东西的时候搞的比较辛苦,因此总结此文档,以解后人之忧。本文会首先介绍与联合身份验证有关的概念及相关的系统设计意图,随后会对ADFS联合身份验证的配置过程、结构及处理流程进行阐述。然后会基于已有的系统提出一个支持多ADFS联合身份验证的改进实例…

    2025年7月14日
    4
  • oracle报错未明确定义列_查询块具有不正确的结果列数

    oracle报错未明确定义列_查询块具有不正确的结果列数运行环境:Oracle10gsqlplus环境下。 在查询语句中,经常会出现一个错误: SQL基础:ORA-00918:未明确定义列的错误。 当前遇到有两种情况。原因为:当查询语句中,查询的表(数据集)中有相同的字段名,查询字段无法确认是改查那个字段 时,就会报未明确定义列的错误。 第一种情况: 1.单表时: 比如fconsign表中存在三个字段:fcsg_c

    2022年10月4日
    5
  • java最新漏洞_JavaMelody XXE漏洞(CVE-2018-15531)分析

    java最新漏洞_JavaMelody XXE漏洞(CVE-2018-15531)分析0x01背景JavaMelody是一款在生产和QA环境中对JAVA应用以及应用服务器(Tomcat、Jboss、Weblogic)进行监控的工具,可以通过图表给出监控数据,方便研发运维等找出响应瓶颈、优化响应等。近日发布了1.74.0版本,修复了一个XXE漏洞,漏洞编号CVE-2018-15531。攻击者利用漏洞,可以读取JavaMelody服务器上的敏感信息。0x02漏洞分析漏洞修复的com…

    2022年7月7日
    72
  • 重启IBMP750小型机之后:telnet登陆相当缓慢以及xmanger登陆工具无法打开图形界面的解决…

    重启IBMP750小型机之后:telnet登陆相当缓慢以及xmanger登陆工具无法打开图形界面的解决…shutdown-Fr重启IMB小机之后,使用xmanger工具telnet小机,可以打开telent,但是大约40多秒之后,才能登陆到机器,重启之前,telnet打开就能登陆。[@more@]原因是:该台小型机配置了DNS服…

    2022年6月22日
    48
  • go微服务框架go-micro深度学习(二) 入门例子

    go微服务框架go-micro深度学习(二) 入门例子

    2021年6月13日
    322
  • 《架构之美》笔记_印象笔记如何创建目录

    《架构之美》笔记_印象笔记如何创建目录美是创造矛盾并解决矛盾。架构的多关注点(例如业务逻辑、系统扩展性、持久、并发)和简洁性就是一种矛盾,美丽的架构能解决这种矛盾,使人内心产生愉悦;随着关注点的增加,架构也在不断演进;术:分层、组件化、服务化、标准化、缓存、分离、队列、复制、冗余、代理;道:如何恰到好处地使用术,例如顿悟变化的道理、博弈中寻找平衡、相对与绝对的奥秘、开放的心态;爱因斯坦说:『让它尽可能简单,但不要过于简单』,美

    2025年6月10日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号