不需要SDK调用图灵机器人的方法

图灵机器人的调用其实就是你给服务器发一个文字消息过去,他回你一个,看起来模仿人类对话一样。

不知道为什么要弄个SDK这么麻烦的方法,以前的接口官网上已经没有了,但是还是可以用的。返回的是JSON但也懒得解析是了,反正格式是固定的,当成字符串处理就好,简单粗暴。

 

String data = null;
                            try {
                                //一定要将其变成utf-8
                                data=URLEncoder.encode(edit.getText().toString(), "utf-8");
                            } catch (UnsupportedEncodingException e) {
                                e.printStackTrace();
                            }

                            

                            String strUrl = "http://www.tuling123.com/openapi/api?key=2e29921641b808e1986e20d4fc6e3238&info=+"+data;
//key是你自己注册得到的,当然你直接用我的也行

                    



                            URL url = null;
                            try {
                                url = new URL(strUrl);

                                HttpURLConnection conn = null;



                                conn = (HttpURLConnection)url.openConnection();

                                conn.setRequestProperty("User-Agent","Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko");

                                conn.connect();
                                //打开这个页面的输入流,这个网站的内容以字节流的形式返回。如果是网页就返回html,图片就返回图片的内容。
                                InputStream inStream = conn.getInputStream();





                                byte [] buf = new  byte[1024];

                                ByteArrayOutputStream outStream = new ByteArrayOutputStream();

                                int n = 0;

                                while((n=inStream.read(buf))!=-1){


                                    outStream.write(buf,0,n);

                                }

                                inStream.close();
                                outStream.close();

//用ByteArrayOutputStream全部缓冲好后再一次转成String,不然再间隔的地方会出现乱码问题

                                String result = outStream.toString();
//返回的JSON,弄成字符串后去掉头和尾就行
                                result = result.substring(23,result.length()-2);

 

以上代码直接复制粘贴就能用了。也没什么要改的。

 

posted @ 2016-04-10 22:01  wzb的QQ空间  阅读(2408)  评论(0编辑  收藏  举报