图灵机器人-语音对话的实现

Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Data
Imports System.Drawing
Imports System.Linq
Imports System.Text
Imports System.Threading.Tasks
Imports System.Windows.Forms

Imports Newtonsoft.Json
'json解析用  
Imports System.IO
Imports System.Net


'图灵机器人-语音对话的实现 
Public Class tulin

    Dim KEY As String
    '这里是注册时得到的key  

    Public Sub New(_key As String)
        KEY = _key
    End Sub
    Public Function run(tbxinput As String) As String
        Dim input As String = tbxinput
        Dim url As String = "http://www.tuling123.com/openapi/api?key=" + KEY + "&info=" + input


        Dim encoding__1 As Encoding = Encoding.GetEncoding("utf-8")

        Dim data As [String] = HttpGet(url, encoding__1)

        Dim reader As JsonReader = New JsonTextReader(New StringReader(data))

        While reader.Read()
            If reader.TokenType = JsonToken.PropertyName AndAlso reader.ValueType = Type.[GetType]("System.String") AndAlso Convert.ToString(reader.Value) = "code" Then
                reader.Read()
                Select Case Convert.ToInt32(reader.Value)
                    Case 100000
                        ' 返回码为文本类数据 

                        reader.Read()
                        reader.Read()
                        Return reader.Value

                        Exit Select
                    Case Else
                        Exit Select
                End Select
            End If
        End While
        Return ""
    End Function

    Private Shared Function HttpGet(url As String, encoding As Encoding) As String
        Dim data As String = ""
        Try
            Dim request As WebRequest
            '使用url发出请求的类  
            request = WebRequest.Create(url)
            request.Credentials = CredentialCache.DefaultCredentials
            '使用默认的身份验证  
            request.Timeout = 10000
            '设定超时  
            Dim response As WebResponse
            '提供响应的类  
            response = request.GetResponse()
            '获取数据  
            data = New StreamReader(response.GetResponseStream(), encoding).ReadToEnd()
        Catch e As System.Exception
            Console.WriteLine(e.Message)
        End Try

        Return data
    End Function


End Class

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值