0

ユーザー名とパスワードを使用して、Web サイトから Excel ファイルをダウンロードしたいと考えています。ログイン後、エクセルファイルをダウンロードするリンクがあります。クリックすると、名前を付けて保存メッセージが表示され、目的のフォルダーに保存するように求められます。この機能を使用していますが、機能しません。htmlページをダウンロードするだけです。任意の提案をいただければ幸いです。

ftpfullpath は URL + ファイル名です

ログイン フォームの URL を使用すると、エラーが表示されます。

    public static void DownloadFileFTP()
        {
            //Delete if Data feed file is already existed
            if (File.Exists(GetFileName.source_path))
            {
                File.Delete(GetFileName.source_path);
            }

            //Create a WebClient
            WebClient request = new WebClient();

            //Set up credentials
            request.Credentials = new NetworkCredential(Properties.Resources.UserName, Properties.Resources.Password);

            //Download the data into Byte array
            byte[] fileData = request.DownloadData(Properties.Resources.ftpfullpath);

            //Create a Filestream to write to Byte array
            FileStream sourceFile = File.Create(GetFileName.source_path);

            try
            {
                //Write full byte array to the file
                sourceFile.Write(fileData, 0, fileData.Length);
                Console.WriteLine("Download Complete " + GetFileName.source_path);
            }

            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            finally
            {
                if (sourceFile != null)
                {
                sourceFile.Close();
                sourceFile = null;
                }

            }
        }
4

1 に答える 1

0

コードは問題ありません。ダウンロード元のページをデバッグする必要があります。ほとんどの場合、ファイルに移動する前にリダイレクトを行います。ブラウザはそれを自動的に処理します。http://www.fiddler2.com/fiddler2/を使用して、リンクをクリックしたときに何が起こっているかを確認してください。

また、referrer = ダウンロード ページの URL を設定してみてください。

于 2012-10-30T06:05:00.113 に答える