1

MailMessage に添付するメモリ ストリームに PDF をダウンロードしようとしています。これが私のコードです:

string pdfUrl = "http://dev.domain.com/pdf+files/sample.pdf";
WebClient client = null;
MemoryStream stream;
try
{
    client = new WebClient();
    stream = new MemoryStream(client.DownloadData(pdfUrl));
    attachments.Add(new Attachment(stream, "Sample.pdf");
}
finally
{
    client.Dispose();
}

client.DownloadData(pdfUrl) から返される byte[] の長さは 0 です。

何か案は?

4

1 に答える 1

0

ダウンロードが Web ブラウザーからは機能するが、プログラムで試行すると失敗する理由はさまざまです。これらの理由には、Cookie の欠落 (認証トークンを含む)、メソッドの不一致 (POST と GET)、フォーム フィールドの欠落、異なる HTTP ヘッダー、リダイレクトの問題などがあります。

解決方法の詳細について は、このスクリーンスクレイピングの落とし穴のカタログをご覧ください。

あなたのケースで何が問題なのかを推測しなければならないとしたら、Cookie または HTTP ヘッダーの欠落のいずれかだと思います。

于 2012-04-08T21:43:16.220 に答える