// 这里URL=http://www.cz88.net/proxy/index.aspx
  public static string GetHtml(string URL)
  {
  WebRequest wr;
  wr = WebRequest.Create(URL);
  wr.Credentials = CredentialCache.DefaultCredentials;
  WebResponse wp;
  wp = wr.GetResponse();
    
  string html = new StreamReader(wp.GetResponseStream(), Encoding.UTF8).ReadToEnd();
  return html;
  }   
获取了HTML 就是网页源码 现在的问题就是:我想截取上面的 代理IP和端口
格式就是 xxx.xxx.xxx.xxx:8080
  xxx.xxx.xxx.xxx:8080
很多条 然后写入TXT文本  

解决方案 »

  1.   

      private void button1_Click(object sender, EventArgs e)
      {
      Regex reg;
      string html=GetHtml("http://www.cz88.net/proxy/index.aspx");
    foreach (Match m in reg.Matches(html, @"\d+(\.\d+){3}:\d+"))
    //这里报错请改用类型名来限定它
     {
      Ctxt(m.Value);
      }
      }
      /// <summary>
      /// 创建文本并写入内容
      /// </summary>
      /// <param name="content"></param>
      public void Ctxt(string content)
      {
      string file = "tt.txt";
      //string content = txtContent.Text;//内容
      if (!File.Exists(file) == true)
      {
      MessageBox.Show("存在此文件!");
      }
      else
      {
      FileStream myFs = new FileStream(file, FileMode.Create);
      StreamWriter mySw = new StreamWriter(myFs);
      mySw.Write(content);
      mySw.Close();
      myFs.Close();
      MessageBox.Show("写入成功");
      }
      }  /// <summary>
      /// 采集函数
      /// </summary>
      /// <param name="URL">地址</param>
      /// <returns>返回采集到的HTML</returns>
      public string GetHtml(string URL)
      {
      WebRequest wr;
      wr = WebRequest.Create(URL);
      wr.Credentials = CredentialCache.DefaultCredentials;
      WebResponse wp;
      wp = wr.GetResponse();
        
      string html = new StreamReader(wp.GetResponseStream(), Encoding.UTF8).ReadToEnd();  return html;
      }
      

  2.   

    foreach (Match m in Regex.Matches(html, @"\d+(\.\d+){3}:\d+"))