È possibile leggere da un URL in un oggetto System.IO.Stream?
Domanda
Sto tentando di leggere da un URL in un oggetto System.IO.Stream. Ho provato a usare
Dim stream as Stream = New FileStream(msgURL, FileMode.Open)
ma ricevo un errore che i formati URI non sono supportati con gli oggetti FileStream. Esiste un metodo che posso utilizzare che eredita da System.IO.Stream che è in grado di leggere da un URL?
Soluzione
VB.Net:
Dim req As WebRequest = HttpWebRequest.Create("url here")
Using stream As Stream = req.GetResponse().GetResponseStream()
End Using
C #:
var req = System.Net.WebRequest.Create("url here");
using (Stream stream = req.GetResponse().GetResponseStream())
{
}
Altri suggerimenti
Usa WebClient.OpenRead
:
Using wc As New WebClient()
Using stream As Stream = wc.OpenRead(msgURL)
...
End Using
End Using
Sì, è possibile utilizzare un oggetto HttpWebRequest per ottenere un flusso di risposta:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream receiveStream = response.GetResponseStream();
// read the stream
receiveStream.Close();
response.Close();
(eliminati e semplificati da the docs ).
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow