SSIS通过c#脚本中的Web客户端下载http文件.非法字符错误,因为源URL有cgi?在路径中

本文关键字:因为 错误 URL cgi 路径 字符 非法 脚本 通过 Web 客户端 | 更新日期: 2023-09-27 18:25:31

我有一个SSIS脚本正在运行,它使用C#脚本运行Web客户端以从XE.com下载货币文件。不幸的是,XE提供的路径有一个cgi调用,因此其中有一个问号,这是一个非法字符,因此我在运行脚本时收到以下消息:

System.ArgumentException:路径中存在非法字符。

我使用的脚本只是根据以下说明改编的:如何从SSIS发出HTTP请求?

有没有办法用ASCII码之类的东西来代替问号?

非常感谢。

SSIS通过c#脚本中的Web客户端下载http文件.非法字符错误,因为源URL有cgi?在路径中

感谢您的回复,Ben。请记住,这是一个SSIS脚本任务,代码来自前面提到的指南。我最终用ASCII代码?替换了问号,这就成功了。对于未来的读者,有问题的代码:
public void Main()
{
    Variables varCollection = null;
    Dts.VariableDispenser.LockForRead("User::RemoteUri");
    Dts.VariableDispenser.LockForRead("User::LocalFolder");
    Dts.VariableDispenser.GetVariables(ref varCollection);
    System.Net.WebClient myWebClient = new System.Net.WebClient();
    string webResource = varCollection["User::RemoteUri"].Value.ToString();
    string fileName = varCollection["User::LocalFolder"].Value.ToString() + webResource.Substring(webResource.LastIndexOf('/') + 1);
    myWebClient.DownloadFile(webResource, fileName);
    Dts.TaskResult = (int)ScriptResults.Success;
}
相关文章: