2009-09-03 19 views
0

donné une adresse comment puis-je télécharger la page Web sur mon disque dur avec asp.nettélécharger la page Web par asp.net

par exemple. Si vous ouvrez l'url http://www.cnn.com dans ie6 et utilisez le fichier save as, il va télécharger la page html sur votre système.

comment puis-je parvenir en asp.net

+0

Juste le HTML ou le HTML et les images? –

Répondre

0

Utilisez System.Net.WebClient.

WebClient client = new WebClient(); 

Stream data = client.OpenRead ("http://www.myurl.com"); 
StreamReader reader = new StreamReader(data); 
string s = reader.ReadToEnd(); 
Console.WriteLine (s); 
data.Close(); 
reader.Close(); 
+3

Vous devriez vraiment utiliser en utilisant. :) – ChaosPandion

1

Cela devrait faire l'affaire. Mais vous devrez prendre en compte la sécurité si vous le faites depuis une page ASP.NET.

public static void GetFromHttp(string URL, string FileName) 
     { 
      HttpWebRequest HttpWReq = CreateWebRequest(URL); 

      HttpWebResponse HttpWResp = (HttpWebResponse)HttpWReq.GetResponse(); 
      Stream readStream = HttpWResp.GetResponseStream(); 
      Byte[] read = new Byte[256]; 

      Stream fs = new FileStream(FileName, FileMode.Create, FileAccess.Write); 

      int count = readStream.Read(read, 0 , 256); 
      while (count > 0) 
      { 
       fs.Write(read, 0, count); 
       count = readStream.Read(read, 0, 256); 
      } 
      readStream.Close(); 

      HttpWResp.Close(); 
      fs.Flush(); 
      fs.Close(); 
     } 
0
String url = "http://www.cnn.com"; 
var hwr = (HttpWebRequest)HttpWebRequest.Create(url); 
using (var r = hwr.GetResponse()) 
using (var s = new StreamReader(r.GetResponseStream())) 
{ 
    Console.Write(s.ReadToEnd()); 
} 
+0

ici j'ai seulement html, je suis à la recherche d'un dossier htm où il aura toutes les images de l'url – vamsivanka

2

Comme womp dit, en utilisant WebClient est plus simple à mon avis. Voici mon exemple plus simple:

string result; 
using (WebClient client = new WebClient()) { 
    result = client.DownloadString(address); 
} 
// Just save the result to a file or do what you want.. 
+0

Je savais qu'ils devaient déjà avoir fait cela! +1 – ChaosPandion

+0

Je peux faire ceci, qui télécharge le code source de cette page. Utilisation du client en tant que nouveau WebClient() client.DownloadFile ("http://www.cnn.com", "c: \ test.html") Fin Utilisation de mais ce qui me manque dans ce sont les téléchargements d'image . à partir de ce qui précède, je reçois seulement l'emplacement de l'image pas les images réelles lui-même. – vamsivanka