冰雹! 我想从NOT PUBLIC Google Site的页面获取图片。 我正在使用WebClient来实现此目的。
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 :(得分:0)
使用CookieContainer
,将其附加到您的请求中。然后首先使用您的凭据对登录表单执行HTTP POST,然后执行HTTP GET以下载文件。