0

雹!NOT PUBLIC Google サイトのページから画像を取得したい。この目的のために 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 でファイルをダウンロードするには、資格情報をどのように使用する必要がありますか?

4

1 に答える 1

0

を使用しCookieContainerて、リクエストに添付してください。次に、最初に認証情報を使用してログイン フォームに HTTP POST を実行し、次に HTTP GET を実行してファイルをダウンロードします。

于 2009-12-30T15:24:38.343 に答える