简单的调用图灵机器人
Posted youlicc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单的调用图灵机器人相关的知识,希望对你有一定的参考价值。
1、去http://www.tuling123.com网址创建账号,创建机器人
重点
2、上代码
winform界面如上
HttpRequestHelper.PostAsync方法具体如下
/// <summary> /// 使用post方法异步请求 /// </summary> /// <param name="url">目标链接</param> /// <param name="data">发送的参数字符串</param> /// <returns>返回的字符串</returns> public static async Task<string> PostAsync(string url, string data, Dictionary<string, string> header = null, bool Gzip = false) using (HttpClient client = new HttpClient(new HttpClientHandler() UseCookies = false )) HttpContent content = new StringContent(data,System.Text.Encoding.UTF8); if (header != null) client.DefaultRequestHeaders.Clear(); foreach (var item in header) client.DefaultRequestHeaders.Add(item.Key, item.Value); HttpResponseMessage response = await client.PostAsync(url, content); response.EnsureSuccessStatusCode(); string responseBody; if (Gzip) GZipInputStream inputStream = new GZipInputStream(await response.Content.ReadAsStreamAsync()); responseBody = new StreamReader(inputStream).ReadToEnd(); else responseBody = await response.Content.ReadAsStringAsync(); return responseBody;
winform后台代码如下
public TuLingTest() InitializeComponent(); private Action<string> ShowMsg; private void TuLingTest_Load(object sender, EventArgs e) ShowMsg = new Action<string>((string msg) => if (Txt_Msg.TextLength > 30000) Txt_Msg.Clear(); Txt_Msg.AppendText("\\r\\n-------当前时间" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "---------------------------------" + "\\r\\n图灵机器人回复:" + msg + "\\r\\n"); Txt_Msg.ScrollToCaret(); ); private async void Btn_start_Click(object sender, EventArgs e) RequestInfo request = new RequestInfo(); UserInfo userInfo = new UserInfo(); userInfo.apiKey = "你的apikey"; Perception perception = new Perception(); InputText inputText = new InputText(); inputText.text = Txt_Reust.Text.Trim(); perception.inputText = inputText; request.perception = perception; request.userInfo = userInfo; var result = await HttpRequestHelper.PostAsync("http://openapi.tuling123.com/openapi/api/v2", JsonConvert.SerializeObject(request)); ResponseInfo response = JsonConvert.DeserializeObject<ResponseInfo>(result); Txt_Msg.BeginInvoke(ShowMsg, response.results[0].values.text); #region 请求消息 public class RequestInfo public int reqType get; set; public Perception perception get; set; public UserInfo userInfo get; set; public class UserInfo public string apiKey get; set; public string userId get; set; public class Perception public InputText inputText get; set; public InputImage inputImage get; set; public List<Location> selfInfo get; set; public class Location public string city get; set; public string province get; set; public string street get; set; public class InputText public string text get; set; public class InputImage public string url get; set; #endregion #region 返回消息 public class ResponseInfo public Intent intent get; set; public List<Results> results get; set; public class Intent public string code get; set; public class Results public int groupType get; set; public string resultType get; set; public Values values get; set; public class Values public string text get; set; #endregion
到此一个简单调用图灵机器人完成。
以上是关于简单的调用图灵机器人的主要内容,如果未能解决你的问题,请参考以下文章