HttpRequest Get和Post调用其他页面的方法 复制代码 代码如下: //Get请求方式 private string RequestGet(string Url) { string PageStr = string.Empty;//用于存放还回的html Uri url = new Uri(Url);//Uri类 提供统一资源标识符 (URI) 的对象表示形式和对 URI 各部分的轻松访问。就是处理url地址 try { HttpWebRequest httprequest = (HttpWebRequest)WebRequest.Create(url);//根据url地址创建HTTpWebRequest对象 #region 参数设置 httprequest.Method = "get"; //---------------------------------------------设定一些参数(不必要可以) //httprequest.KeepAlive = false;//持久连接设置为false //httprequest.ProtocolVersion = HttpVersion.Version11;// 网络协议的版本 //httprequest.Proxy = WebProxy.GetDefaultProxy();//服务器代理 //httprequest.ContentType = "application/x-www-form-urlencoded";//http 头 //httprequest.AllowAutoRedirect = true; //httprequest.MaximumAutomaticRedirections = 10; //httprequest.Timeout = 30000;//设定超时十秒(毫秒) //httprequest.UserAgent = "mozilla/4.0 (compatible; msie 6.0; windows nt 5.1)"; //浏览器 //================================================= #endregion HttpWebResponse response = (HttpWebResponse)httprequest.GetResponse();//使用HttpWebResponse获取请求的还回值 Stream steam = response.GetResponseStream();//从还回对象中获取数据流 StreamReader reader = new StreamReader(steam, Encoding.GetEncoding("gb2312"));//读取数据Encoding.GetEncoding("gb2312")指编码是gb2312,不让中文会乱码的 PageStr = reader.ReadToEnd(); reader.Close(); } catch (Exception e) { PageStr += e.Message; } return PageStr; } 复制代码 代码如下://Post请求方式,于Get的方式写法相似,所以解释就些少一点了 private string RequestPost(string Url,string Context)//两个参数分别是Url地址和Post过去的数据 { string PageStr=string.Empty; Uri url = new Uri(Url); byte[] reqbytes=Encoding.ASCII.GetBytes(Context); try { HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "post"; req.ContentType = "application/x-www-form-urlencoded"; req.ContentLength = reqbytes.Length; Stream stm = req.GetRequestStream(); stm.Write(reqbytes, 0, reqbytes.Length); stm.Close(); HttpWebResponse wr = (HttpWebResponse)req.GetResponse(); Stream stream = wr.GetResponseStream(); StreamReader srd= new StreamReader(stream,Encoding.GetEncoding("gb2312")); PageStr += srd.ReadToEnd(); stream.Close(); srd.Close(); } catch (Exception e) { PageStr += e.Message; } return PageStr; } 复制代码 代码如下:public string WebClientGet(string url) { var client = new WebClient(); client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)"); var stream = client.OpenRead(url); if (stream == null) return ""; var reader = new StreamReader(stream, Encoding.Default); var result = reader.ReadToEnd(); stream.Close(); reader.Close(); return result; }