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;
}
{
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;
}