Можно ли читать с URL-адреса в объект System.IO.Stream? - PullRequest
18 голосов
/ 03 августа 2009

Я пытаюсь прочитать URL-адрес в объект System.IO.Stream. Я пытался использовать

Dim stream as Stream = New FileStream(msgURL, FileMode.Open)

но я получаю сообщение об ошибке, что форматы URI не поддерживаются объектами FileStream. Есть ли какой-нибудь метод, который я могу использовать, который унаследован от System.IO.Stream и может читать с URL?

Ответы [ 3 ]

32 голосов
/ 03 августа 2009

Использование WebClient.OpenRead:

Using wc As New WebClient()
    Using stream As Stream = wc.OpenRead(msgURL)
        ...
    End Using
End Using
19 голосов
/ 03 августа 2009

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())
{

}
2 голосов
/ 03 августа 2009

Да, вы можете использовать объект HttpWebRequest для получения потока ответов:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
Stream receiveStream = response.GetResponseStream();
// read the stream
receiveStream.Close();
response.Close();

(Урезано и упрощено с Документы ).

...