2009-12-30 16 views
0

Salut! Je souhaite récupérer l'image à partir de la page NOT PUBLIC Google Site. J'utilise WebClient à cette fin.Récupération de données Google Site

var uri = 
    new Uri("http://sites.google.com/a/MYDOMAIN.COM/SITENAME/" + 
      "_/rsrc/1234567890/MYIMAGE.jpg"); 
string fileName = "d:\\!temp\\MYIMAGE.jpg"; 
if (File.Exists(fileName)) 
    File.Delete(fileName); 
using (var webClient = new WebClient()) 
{ 
    var networkCredential = new NetworkCredential("USERNAME", "PASSWORD"); 
    var credentialCache = new CredentialCache 
    { 
     {new Uri("sites.google.com"), "Basic", networkCredential}, 
     {new Uri("www.google.com"), "Basic", networkCredential} 
    }; 
    webClient.Credentials = credentialCache; 
    webClient.DownloadFile(uri, fileName); 
} 

Il ne télécharge pas l'image, mais le fichier html avec le formulaire de connexion est téléchargé. Si j'ouvre ce lien dans le navigateur, il me montre le formulaire de connexion, puis je saisis le nom d'utilisateur et mot de passe, puis je peux voir l'image.

Comment puis-je utiliser mes informations d'identification pour télécharger un fichier avec WebClient ou HttpWebRequest?

Répondre

0

Utilisez un CookieContainer, attachez-le à votre demande. Ensuite, faites d'abord un HTTP POST au formulaire de connexion, avec vos informations d'identification, puis faites un HTTP GET pour télécharger le fichier.