2009-07-01 15 views

cevap

9
static string GetContents(Uri uri) { 
    using (var response = WebRequest.Create(uri).GetResponse()) 
    using (var stream = response.GetResponseStream()) 
    using (var reader = new StreamReader(stream)) 
     return reader.ReadToEnd(); 
} 

O ne olursa olsun için çalışmaz. Varsayılan olarak file://, http:// ve https:// ve ftp:// için çalışır. Bununla birlikte, bunlar için de çalışmasını sağlamak üzere WebRequest.RegisterPrefix ile özel URI işleyicileri kaydedebilirsiniz.

5

kolay yolu WebClient sınıfı kullanmaktır:

using(WebClient client = new WebClient()) 
{ 
    string contents = client.DownloadString(uri); 
} 
+1

Ne yazık ki, bu evreli değil, bir sorun olduğunu ve bir bakışta görebileceğiniz kadarıyla, sadece HTTP (I destekler atleast dosyası gerekir: //) –

+0

@Matthew: Dahili olarak, sadece WebRequest işlevini kullanır, bu yüzden dosya: // ve ftp: // 'yi destekler. Daha fazla kontrole ihtiyacınız varsa, doğrudan WebRequest'i kullanmalısınız. Geride bir dize istiyorsanız, 'WebClient' kullanın. –

+0

Diğer URI'leri destekliyor. HTTP ile sınırlı değil. Ne demek istiyorsun, iş parçacığı güvenli değil? –

İlgili konular