2012-08-03 98 views
2

我試圖使用正則表達式來檢索網站的名稱。但是,當我運行該程序時,出現錯誤時使用「路徑中的非法字符」。代碼如下:與web.downloadstring路徑中的非法字符

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*&nbsp;", RegexOptions.Singleline); 

     string givenName = m.Groups[1].Value; 
     givenNames.Add(givenName); 
    } 
    listBox1.DataSource = givenNames; 
} 

錯誤發生在String html = web.DownloadString(mainurl);。我嘗試使用HttpUtility.UrlEncode但它仍然無法正常工作。我很感激幫助。

+5

您是否嘗試在您的網址中添加「http://」? – 2012-08-03 17:30:40

+0

D'oh!那解決了這個問題哈哈。謝謝:D – 2012-08-03 17:32:28

+1

當然,在路徑開始處沒有協議意味着在路徑中有非法字符。完全自我解釋的錯誤信息,做得很好微軟。 – glenatron 2014-12-03 17:26:32

回答

9

您需要在URL中包含http://。

string mainurl = "http://www.cpso.on.ca/docsearch/details.aspx?view=1&id=+" + numberurl; 
相關問題