網上取資料的一個例子

來源:互聯網
上載者:User

private void Page_Load(object sender, System.EventArgs e)
  {
  
   
   string url="http://localhost/webUserWindowExample/WebForm5.aspx";
   System.Net .CookieContainer cook=new System.Net .CookieContainer();
   string gets=getHTMLByUrlCook(url,ref cook,"Get",null,true);
   string strViewState = System.Text .RegularExpressions .Regex.Replace(gets,"[//s*//S*]*<input type=/"hidden/" name=/"__VIEWSTATE/" value=/"([^/"]*)/"[//s*//S*]*","$1",System.Text .RegularExpressions.RegexOptions.IgnoreCase);
   
   string param="__VIEWSTATE="+System.Web.HttpUtility.UrlEncode(strViewState)+"&TextBox1=xxxx&Button1=Button&CheckBox1=on";
   
   string s=a.getHTMLByUrlCook(url,ref cook,"POST",param,true);
   Response.Write(s);
  }

  public  string getHTMLByUrlCook(string url,ref System.Net.CookieContainer cook,string sMethod,string Param,bool bAutoRedirect)
  {
   sMethod = sMethod.ToUpper();
   sMethod = sMethod!="POST"?"GET":sMethod;
   string res =""; 
   HttpWebRequest re =(HttpWebRequest)HttpWebRequest.Create(url);
   re.CookieContainer = cook; // attach the cook object
   re.Method = sMethod;
   //   re.AllowAutoRedirect = bAutoRedirect;
   //   re.UserAgent="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; MyIE2; .NET CLR 1.1.4322)";
   //  

   //re.ClientCertificates = new System.Security.Cryptography.X509Certificates.X509CertificateCollection();
   //re.ClientCertificates = System.Security.Cryptography.X509Certificates.X509Certificate.CreateFromSignedFile();

   //re.Timeout = 2000;
   if (sMethod =="POST")   // Post data to Server
   {
    re.ContentType="application/x-www-form-urlencoded";
    Byte[] b = System.Text.Encoding.UTF8.GetBytes(Param);
    re.ContentLength = b.Length;
    try
    {
     Stream oSRe = re.GetRequestStream();
     oSRe.Write(b,0,b.Length);
     oSRe.Close();
     oSRe = null;
    }
    catch(Exception )
    {
     re = null;
     return "-1";
    }
   }
  
   HttpWebResponse rep = null;
   Stream oResponseStream = null;
   StreamReader oSReader = null;
   try
   {
    rep=(HttpWebResponse)re.GetResponse();
    oResponseStream = rep.GetResponseStream();
    oSReader  = new StreamReader(oResponseStream,System.Text.Encoding.Default);
    res =oSReader.ReadToEnd();
   }
   catch (System.Net.WebException  e)
   {
    //res ="-1";
    
    res = e.ToString();
   }

   if (rep!=null)
   {
    rep.Close();
    rep = null;
   }
   if(oResponseStream!= null)
   {
    oResponseStream.Close();
    oResponseStream = null;
   }
   
   if(oSReader!=null)
   {
    oSReader.Close();
    oSReader = null;
   }
   re = null;

   return res;
    
  }

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.