本文采用的API接口来自于图灵机器人www.tuling123.com
using System; using System.IO; using System.Net; using System.Web.Script.Serialization; public partial class api_test_api : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btnSearch_Click(object sender, EventArgs e) { string key = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX";//对应自己的图灵机器人的KEY string url = "http://www.tuling123.com/openapi/api?key=" + key + "&info="; string values = string.Empty; if (!String.IsNullOrEmpty(tbInfo.Text.Trim())) { url += tbInfo.Text.Trim(); values = GetApiValues(url); lblText.Text += "[" + DateTime.Now.ToString("HH:mm:ss") + "]" + "你说:" + tbInfo.Text.Trim() + "<br/>" + "[" + DateTime.Now.ToString("HH:mm:ss") + "]" + "机器人说:" + GetWords(values).text + "<br/>"; } tbInfo.Text = ""; } /// <summary> /// 解析json返回字符串 /// </summary> /// <param name="text">需要解析的文字</param> /// <returns></returns> public RobotWords GetWords(string text) { try { JavaScriptSerializer json = new JavaScriptSerializer(); //实例化一个能够序列化数据的类 RobotWords list = json.Deserialize<RobotWords>(text); //将json数据转化为对象类型并赋值给list return list; } catch (Exception ex) { return null; } } /// <summary> /// 调用API方法 /// </summary> /// <param name="apiUrl"></param> /// <returns></returns> public string GetApiValues(string apiUrl) { string receiveData = string.Empty; HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(apiUrl); myHttpWebRequest.Timeout = 100000; myHttpWebRequest.Method = "GET"; myHttpWebRequest.ContentType = "text/xml; encoding='utf-8'"; HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse(); if (myHttpWebResponse.StatusCode.Equals(HttpStatusCode.OK)) { Stream receiveStream = myHttpWebResponse.GetResponseStream(); StreamReader readStream = new StreamReader(receiveStream, System.Text.Encoding.UTF8); receiveData = readStream.ReadToEnd(); receiveStream.Close(); readStream.Close(); } myHttpWebResponse.Close(); return receiveData; } /// <summary> /// JOSN对应的实体 /// </summary> public class RobotWords { public string code { get; set; } public string text { get; set; } } }
文章评论