J86*_*J86 0 vb.net stream asp.net-web-api
我通过 .NET 3.5 应用程序访问 API,到目前为止我的代码如下所示:
Dim strLink As String = "http://www.google.co.uk"
Dim request As WebRequest = System.Net.WebRequest.Create("http://random-web-api/controller/id")
Dim response As WebResponse = request.GetResponse()
If CType(response,HttpWebResponse).StatusCode = HttpStatusCode.OK Then
Dim dataStream As Stream = response.GetResponseStream()
' How do I get the String from the Stream?
response.Close()
End If
Run Code Online (Sandbox Code Playgroud)
我能够调用 API,并获得 OK 状态,但我不知道如何将我的转换为VB 中的ResponseStreama ?String
我能想到的最简单的方法:
'Convert stream to string
Dim reader As New StreamReader(response.GetResponseStream())
Dim streamText As String = reader.ReadToEnd()
Run Code Online (Sandbox Code Playgroud)
注意:这仅适用于 ASCII 编码。
编辑,您可以将以下方法添加到您的应用程序中,该方法允许编码参数。
Private Shared Function MemoryStreamToString(ms As MemoryStream, enc As Encoding) As String
Return Convert.ToBase64String(enc.GetString(ms.GetBuffer(), 0, CInt(ms.Length)))
End Function
Run Code Online (Sandbox Code Playgroud)
上面的函数应该这样调用:
Dim streamText As String = MemoryStreamToString(response.GetResponseStream(), System.Encoding.ENCODINGTYPEHERE)
Run Code Online (Sandbox Code Playgroud)
转到此处了解有关编码 MSDN 的更多信息
| 归档时间: |
|
| 查看次数: |
10922 次 |
| 最近记录: |