2009-12-30 3 views
0

Приветствую! Я хочу получить изображение с НЕ ОБЩЕСТВЕННОЙ страницы сайта Google. Я использую WebClient для этих целей.Загрузка данных в 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); 
} 

Он не загружает изображение, но загружен файл html с формой входа. Если я открою эту ссылку в браузере, она покажет мне регистрационную форму, тогда я введи имя пользователя и пароль, а затем смогу увидеть изображение.

Как я должен использовать свои учетные данные для загрузки файла с помощью WebClient или HttpWebRequest?

ответ

0

Используйте CookieContainer, прикрепите его к вашему запросу. Затем сначала сделайте HTTP POST в форме входа, с вашими учетными данными, а затем выполните HTTP GET, чтобы загрузить файл.

Смежные вопросы