我正在嘗試從URL讀取到System.IO.Stream對象。我試圖使用是否可以從URL讀取到System.IO.Stream對象?
Dim stream as Stream = New FileStream(msgURL, FileMode.Open)
但我得到一個錯誤,URI格式不支持FileStream對象。是否有一些方法可以使用從System.IO.Stream繼承,它可以從URL中讀取?
我正在嘗試從URL讀取到System.IO.Stream對象。我試圖使用是否可以從URL讀取到System.IO.Stream對象?
Dim stream as Stream = New FileStream(msgURL, FileMode.Open)
但我得到一個錯誤,URI格式不支持FileStream對象。是否有一些方法可以使用從System.IO.Stream繼承,它可以從URL中讀取?
VB.Net:
Using req As WebRequest = HttpWebRequest.Create("url here"), _
stream As Stream = req.GetResponse().GetResponseStream()
End Using
C#:
using(WebRequest req = HttpWebRequest.Create("url here"))
using (Stream stream = req.GetResponse().GetResponseStream())
{
}
使用WebClient.OpenRead
:
Using wc As New WebClient()
Using stream As Stream = wc.OpenRead(msgURL)
...
End Using
End Using
是的,你可以使用一個HttpWebRequest對象得到響應流:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream receiveStream = response.GetResponseStream();
// read the stream
receiveStream.Close();
response.Close();
(從the docs剝離並簡化)。
如果我沒有錯,請求對象應該是WebRequest,而不是HttpWebRequest對象。 – 2011-09-29 15:17:45
使用此代碼我無法反序列化Web請求另一端的內容。我建議在下面使用Thomas Levesque的回答,因爲它的工作很完美。 – 2014-04-14 14:56:20