É possível ler a partir de uma url em um objeto System.IO.Stream?
Pergunta
Eu estou tentando ler a partir de uma url em um objeto System.IO.Stream. Eu tentei usar
Dim stream as Stream = New FileStream(msgURL, FileMode.Open)
mas eu recebo um erro que formatos URI não são suportadas com FileStream objetos. Existe algum método que eu possa usar que herda de System.IO.Stream que é capaz de ler a partir de uma URL?
Solução
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())
{
}
Outras dicas
Use WebClient.OpenRead
:
Using wc As New WebClient()
Using stream As Stream = wc.OpenRead(msgURL)
...
End Using
End Using
Sim, você pode usar um objeto HttpWebRequest para obter um fluxo de resposta:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream receiveStream = response.GetResponseStream();
// read the stream
receiveStream.Close();
response.Close();
(despojado e Simplificado de os docs ).
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow