当前位置:首页 > 网络编程 > WEB编程 > ASP.net >  用post方法从网上抓取信息

 用post方法从网上抓取信息

点击次数:16 次 发布日期:2008-11-26 11:35:11 作者:源代码网
源代码网推荐      前些天有个要求要从某个网站上取信息,但是该网站要求用post方式访问的.现在这里贴两个google到的方法.
源代码网推荐  
源代码网推荐  using System.Net;
源代码网推荐  
源代码网推荐  static string WebClinetPost(string url, string postData,string encodeType,out string err)
源代码网推荐   {
源代码网推荐   string uriString = url;
源代码网推荐   byte[] byteArray;
源代码网推荐   byte[] responseArray;
源代码网推荐   //postData = "checkvalue=32&bbb=%CD%B6%C6%B1&ilc=0&kkk=22";
源代码网推荐   Encoding encoding = Encoding.GetEncoding(encodeType);
源代码网推荐   try
源代码网推荐   {
源代码网推荐   WebClient myWebClient = new WebClient();
源代码网推荐   WebHeaderCollection myWebHeaderCollection;
源代码网推荐   myWebClient.Headers.Add("Content-Type","application/x-www-form-urlencoded");
源代码网推荐   //myWebClient.Headers.Add("Referer","http://xxxxx/xxxxxxxxxxxxxxxxxxxxxxxx");
源代码网推荐   //myWebClient.Headers.Add("Accept-Language","zh-cn");
源代码网推荐   myWebHeaderCollection = myWebClient.Headers;
源代码网推荐  
源代码网推荐   byteArray = encoding.GetBytes(postData);
源代码网推荐   responseArray = myWebClient.UploadData(uriString,"POST",byteArray);
源代码网推荐  
源代码网推荐   err=string.Empty;
源代码网推荐   return encoding.GetString(responseArray);
源代码网推荐   }
源代码网推荐   catch(Exception ex)
源代码网推荐   {
源代码网推荐   err=ex.Message;
源代码网推荐   return string.Empty;
源代码网推荐   }
源代码网推荐   }
源代码网推荐   public static string HttpWebResponsePost(string url, string postData,string encodeType,out string err)
源代码网推荐   {
源代码网推荐  
源代码网推荐   Stream outstream = null;
源代码网推荐  
源代码网推荐   Stream instream = null;
源代码网推荐  
源代码网推荐   StreamReader sr = null;
源代码网推荐  
源代码网推荐   HttpWebResponse response = null;
源代码网推荐  
源代码网推荐   HttpWebRequest request = null;
源代码网推荐  
源代码网推荐   Encoding encoding = Encoding.GetEncoding(encodeType);
源代码网推荐  
源代码网推荐   byte[] data = encoding.GetBytes(postData);
源代码网推荐  
源代码网推荐   try
源代码网推荐  
源代码网推荐   {
源代码网推荐  
源代码网推荐   request = WebRequest.Create(url) as HttpWebRequest;
源代码网推荐  
源代码网推荐   CookieContainer cookieContainer = new CookieContainer();
源代码网推荐  
源代码网推荐   request.CookieContainer = cookieContainer;
源代码网推荐  
源代码网推荐   request.AllowAutoRedirect = true;
源代码网推荐  
源代码网推荐   request.Method = "POST";
源代码网推荐  
源代码网推荐   request.ContentType = "application/x-www-form-urlencoded";
源代码网推荐  
源代码网推荐   request.ContentLength = data.Length;
源代码网推荐  
源代码网推荐   outstream = request.GetRequestStream();
源代码网推荐  
源代码网推荐   outstream.Write(data,0,data.Length);
源代码网推荐  
源代码网推荐   outstream.Close();
源代码网推荐  
源代码网推荐   response = request.GetResponse() as HttpWebResponse;
源代码网推荐   instream = response.GetResponseStream();
源代码网推荐   sr = new StreamReader( instream, encoding );
源代码网推荐   string content = sr.ReadToEnd();
源代码网推荐  
源代码网推荐   err = string.Empty;
源代码网推荐   return content;
源代码网推荐  
源代码网推荐   }
源代码网推荐  
源代码网推荐   catch(Exception ex)
源代码网推荐   {
源代码网推荐  
源代码网推荐   err = ex.Message;
源代码网推荐   return string.Empty;
源代码网推荐  
源代码网推荐   }
源代码网推荐   }
源代码网推荐  
源代码网推荐  调用代码:
源代码网推荐   string url="http://xxxxxx/xxxxxxxx/scrrm00542.jsp";
源代码网推荐   string postData="proj_id=600197&theSubmit=600197";
源代码网推荐   string encodeType="utf-8";
源代码网推荐   string err="";
源代码网推荐   //string content=HttpWebResponsePost(url,postData,encodeType,out err);
源代码网推荐   string content=WebClinetPost(url,postData,encodeType,out err);
源代码网推荐  
源代码网推荐  另外,再附上javascript实现的代码吧:
源代码网推荐  <script language=javascript>
源代码网推荐   function GetData()
源代码网推荐   {
源代码网推荐  
源代码网推荐   var postData = "proj_id=600197&theSubmit=600197";
源代码网推荐   var http = new GetXMLHTTPRequest();
源代码网推荐   http.open("POST", "http://xxxxxxxxxx/xxxxxx/scrrm00542.jsp", false);
源代码网推荐   http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
源代码网推荐   http.send(postData);
源代码网推荐  
源代码网推荐   return http.responseText;
源代码网推荐   }
源代码网推荐  
源代码网推荐   function GetXMLHTTPRequest()
源代码网推荐   {
源代码网推荐   var progIDs = ["Msxml2.XMLHTTP.5.0", "Msxml2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
源代码网推荐   for (var i = 0; i < progIDs.length; ++i)
源代码网推荐   {
源代码网推荐   var progID = progIDs[i];
源代码网推荐   try
源代码网推荐   {
源代码网推荐   var x = new ActiveXObject(progID);
源代码网推荐   return x;
源代码网推荐   }
源代码网推荐   catch (e)
源代码网推荐   {}
源代码网推荐   }
源代码网推荐   }
源代码网推荐  </script>
源代码网推荐  
源代码网推荐  http://www.cnblogs.com/lwyaster/archive/2007/01/09/615815.html
源代码网推荐  
源代码网推荐    做人要厚道,请注明转自酷网动力(www.ASPCOOL.COM)。
源代码网推荐


源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华