web.downloadstring的路径中存在非法字符
本文关键字:存在 非法 字符 路径 downloadstring web | 更新日期: 2024-10-19 10:13:26
我正在尝试使用regex从网站检索名称。然而,当我运行程序时,使用"路径中的非法字符"会出现错误。这是代码:
private void button1_Click(object sender, EventArgs e)
{
List<string> givenNames = new List<string>();
WebClient web = new WebClient();
for (int i = 10000; i <= 33852; i++)
{
string numberurl = i.ToString();
string mainurl = "www.cpso.on.ca/docsearch/details.aspx?view=1&id=+" + numberurl;
String html = web.DownloadString(mainurl);
Match m = Regex.Match(html, @"</strong>'s*(.+?)'s* ", RegexOptions.Singleline);
string givenName = m.Groups[1].Value;
givenNames.Add(givenName);
}
listBox1.DataSource = givenNames;
}
错误发生在String html = web.DownloadString(mainurl);
。我尝试过使用HttpUtility.UrlEncode
,但它仍然不起作用。我很感激你的帮助。
您需要在URL中包含http://。
string mainurl = "http://www.cpso.on.ca/docsearch/details.aspx?view=1&id=+" + numberurl;
我的URL是从API端点获取的,因此它被返回为带引号的字符串,如"'"http://someurl.com/somefile.txt'""
。引用的字符串是WebClient在尝试下载文件时出错的原因。
为了修复它,我在这个字符串上调用了方法myUrl.Trim('"')
,使其删除字符串开头和结尾的引号。
在这之后,字符串变成了"http://someurl.com/somefile.txt"
(没有内部引号),然后web客户端能够成功地从URL下载文件。