网上取数据的一个例子
类别: ASP教程
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;
}
{
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;
}
- 上一篇: 在邮件内容中显示附件中的图片
- 下一篇: ASP中实现网络打印功能
-= 资 源 教 程 =-
文 章 搜 索