タスクの 1 つでスクリプト タスク (C# コード) を使用する SSIS ジョブがありWebClient.DownloadFile
、特定の Web サイトから (メソッドを使用して) CSV ファイルをダウンロードして後の段階で処理しようとします。
CSV のダウンロードは毎回失敗するので、問題を調査しようとしてこのブログに出会い、CSV ファイルの URL にVary: negotiate
とPragma: no-cache
その応答ヘッダーがある場合、ダウンロードが失敗することがわかりました。IE8 は、ホスト サーバーで利用可能な最新バージョンの IE であるため、それについては何も言えません。IE8 を使用して CSV ファイルをダウンロードしようとすると、次のエラーが表示されます。
CSV ファイルをダウンロードしようとしたときの応答ヘッダー:
次のフィルターを使用して Fiddler を実行すると、CSV のダウンロードが IE8 で期待どおりに機能します。
だから私の質問は、どうすればこれを行うことができWebClient.DownloadFile
ますか? Fiddler.Core を調べましたが、これを行う方法がわかりませんでした。また、次を使用して単純に Fiddler を実行することも検討しました。
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = @"C:\PROGRA~1\Fiddler2\Fiddler.exe";
しかし、上記の方法の問題は、Process.Kill() が呼び出されたときに、Fiddler がそれ自体をクリーンアップする機会がなく、そのプロキシを残すことです...など、他のアプリケーションの接続が中断されます。
この状況に対処する方法を教えてくれる人はいますか? ありがとう