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