点击button1按钮,获取接口数据。然后显示到右侧。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim myHttpWebRequest As HttpWebRequest
Dim myHttpWebResponse As HttpWebResponse
Dim sTemp As String
Try
Dim URL As String = "http://localhost:8082/comment/ids"
Dim myUri As Uri = New Uri(URL)
Dim myWebRequest As WebRequest = WebRequest.Create(URL)
myHttpWebRequest = CType(myWebRequest, HttpWebRequest)
Dim myWebResponse As WebResponse = myHttpWebRequest.GetResponse()
myHttpWebResponse = CType(myWebResponse, HttpWebResponse)
Dim myStream As Stream = myHttpWebResponse.GetResponseStream()
Dim srReader As StreamReader = New StreamReader(myStream, Encoding.Default)
sTemp = srReader.ReadToEnd()
srReader.Close()
'MessageBox.Show(sTemp)[1,2,3,4,5,6,7,8,9,10]
Catch ex As Exception
MessageBox.Show(ex.ToString())
End Try
Dim s As String = sTemp
Dim midStr As String = Mid(s, 2, Len(s) - 2)
Dim strArr As String() = midStr.Split(",")
Me.Chart1.Series.RemoveAt(0)
Dim i As Integer
Dim j As Integer
For i = 0 To 1
Me.Chart1.Series.Add("系列" & Str(i))
j = 0
For Each item In strArr
Me.Chart1.Series(i).Points.Add()
j = j + 1
Next
Next
Me.Chart1.Series(0).Name = "温度"
Me.Chart1.Series(1).Name = "湿度"
Randomize()
For i = 0 To 1
j = 0
For Each item In strArr
Me.Chart1.Series(i).Points(j).YValues = {CInt(item)}
Me.Chart1.Series(i).Points(j).XValue = j
j = j + 1
Next
Me.Chart1.Series(i).ChartType = DataVisualization.Charting.SeriesChartType.Line
Next
MessageBox.Show("success")
'Me.Chart1.Series(0).ChartType = DataVisualization.Charting.SeriesChartType.Column
End Sub
解释一下代码:整个分成两个部分。第一个部分是请求“/ids”这个url地址,获取温度数据。由于温度数据是字符串,所以用逗号分割字符串得到字符串数组,数组中的元素就是某个时刻的温度。第二个部分是绘制一条温度折线图表,用的是Chart控件。这段代码中有一个注意点,Me.Chart1.Series(i).Points(j).YValues是Double数组,所以我赋值的是{Double}。
vb发送http请求参考的是这个: