【问题标题】:Webclient download - illegal characters in pathWebclient 下载 - 路径中的非法字符
【发布时间】:2015-05-03 01:14:15
【问题描述】:

我在下载网络客户端时遇到了一些问题。 我正在尝试从网站收集一些数据,并在我的计算中使用这些数据(单独的列)。简单地复制和粘贴数据(并手动删除文件底部的空行)时,我没有收到任何错误。但是当试图自动化它时 - 我得到“路径中的非法字符”错误。认为它是文件末尾的 \r 和 "" - 这就是问题所在。我曾尝试使用 .TrimEnd,但仍然收到错误消息。有任何想法吗?

在本地窗口中输出。(修改代码为“download.Split('\n');) 最后的值... "\r" "\r" ""

static void userInterface()
{
    string[] lines;
    //Console.Write("Enter ticker:  ");
    //string contract = Console.ReadLine();

    try
    {
        WebClient client = new WebClient();
        string downloadString = client.DownloadString
            ("http://ds01.ddfplus.com/historical/queryeod.ashx?username=XX&password=XXX&symbol=clk12&maxrecords=30&data=daily");
        downloadString = downloadString.TrimEnd('\r');
        //lines = File.ReadAllLines(downloadString);
        lines = downloadString.Split('\n');
        int high = 1;
        Program.TA(DateColumn(lines, high), OpenColumn(lines, high + 1), HighColumn(lines, high + 2),
            LowColumn(lines, high + 3), CloseColumn(lines, high + 4));
    }

【问题讨论】:

  • 为什么要在下载的字符串(而不是实际的文件名)上调用 File.ReadAllLines

标签: c# illegal-characters


【解决方案1】:

您是否尝试从使用 WebClient 下载的 路径 读取文件?

或者您是否尝试解析http响应的内容?在这种情况下,您应该使用以下内容:

string downloadString = client.downloadString(/* ... */);
lines = downloadString.Split(new char[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntities)

【讨论】:

  • 我尝试按照您的建议进行操作,这实际上似乎可以解决问题!非常感谢@Sharihin!并向其他所有人提供帮助!
猜你喜欢
  • 1970-01-01
  • 2014-04-10
  • 2016-12-10
  • 2013-11-24
  • 2019-08-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多