我有一个 SSIS 作业,在它的一个任务中,我使用了一个脚本任务(C# 代码),它试图WebClient.DownloadFile
从给定的网站下载一个 CSV 文件(使用方法)以供后续阶段处理。
CSV 的下载每次都会失败,因此在尝试调查此博客的问题时,发现当 CSV 文件的 URLVary: 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 没有机会自行清理并留下其代理......等导致其他应用程序的连接中断。
有人能告诉我如何处理这种情况吗?谢谢