c#通过GET/POST获取页面的代码
来源:互联网 发布:大智慧网上交易软件 编辑:程序博客网 时间:2024/06/16 05:06
c#通过GET/POST获取页面的代码
/// <summary>
/// 提供web处理方法的类
/// </summary>
public class WebTreatment
{
/// <summary>
/// 通过GET方式获取页面的方法
/// </summary>
/// <param name="urlString">请求的URL</param>
/// <param name="encoding">页面编码</param>
/// <returns></returns>
public static string GetHtmlFromGet(string urlString, Encoding encoding)
{
//定义局部变量
HttpWebRequest httpWebRequest = null;
HttpWebResponse httpWebRespones = null;
Stream stream = null;
string htmlString = string.Empty;
//请求页面
try
{
httpWebRequest = WebRequest.Create(urlString) as HttpWebRequest;
}
//处理异常
catch (Exception ex)
{
throw new Exception("建立页面请求时发生错误!", ex);
}
httpWebRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; Maxthon 2.0)";
//获取服务器的返回信息
try
{
httpWebRespones = (HttpWebResponse)httpWebRequest.GetResponse();
stream = httpWebRespones.GetResponseStream();
}
//处理异常
catch (Exception ex)
{
throw new Exception("接受服务器返回页面时发生错误!", ex);
}
StreamReader streamReader = new StreamReader(stream,encoding);
//读取返回页面
try
{
htmlString = streamReader.ReadToEnd();
}
//处理异常
catch (Exception ex)
{
throw new Exception("读取页面数据时发生错误!", ex);
}
//释放资源返回结果
streamReader.Close();
stream.Close();
return htmlString;
}
/// <summary>
/// 提供通过POST方法获取页面的方法
/// </summary>
/// <param name="urlString">请求的URL</param>
/// <param name="encoding">页面使用的编码</param>
/// <param name="postDataString">POST数据</param>
/// <returns>获取的页面</returns>
public static string GetHtmlFromPost(string urlString, Encoding encoding, string postDataString)
{
//定义局部变量
CookieContainer cookieContainer = new CookieContainer();
HttpWebRequest httpWebRequest = null;
HttpWebResponse httpWebResponse = null;
Stream inputStream = null;
Stream outputStream = null;
StreamReader streamReader = null;
string htmlString = string.Empty;
//转换POST数据
byte[] postDataByte = encoding.GetBytes(postDataString);
//建立页面请求
try
{
httpWebRequest = WebRequest.Create(urlString) as HttpWebRequest;
}
//处理异常
catch (Exception ex)
{
throw new Exception("建立页面请求时发生错误!", ex);
}
//指定请求处理方式
httpWebRequest.Method = "POST";
httpWebRequest.KeepAlive = false;
httpWebRequest.ContentType = "application/x-www-form-urlencoded";
httpWebRequest.CookieContainer = cookieContainer;
httpWebRequest.ContentLength = postDataByte.Length;
//向服务器传送数据
try
{
inputStream = httpWebRequest.GetRequestStream();
inputStream.Write(postDataByte, 0, postDataByte.Length);
}
//处理异常
catch (Exception ex)
{
throw new Exception("发送POST数据时发生错误!", ex);
}
finally
{
inputStream.Close();
}
//接受服务器返回信息
try
{
httpWebResponse = httpWebRequest.GetResponse() as HttpWebResponse;
outputStream = httpWebResponse.GetResponseStream();
streamReader = new StreamReader(outputStream, encoding);
htmlString = streamReader.ReadToEnd();
}
//处理异常
catch (Exception ex)
{
throw new Exception("接受服务器返回页面时发生错误!", ex);
}
finally
{
streamReader.Close();
}
foreach (Cookie cookie in httpWebResponse.Cookies)
{
cookieContainer.Add(cookie);
}
return htmlString;
}
}
- c#通过GET/POST获取页面的代码
- C# 通过GET、POST请求获取结果
- 通过GET和POST方式获取页面内容
- PostMethod获取post提交的页面代码
- 通过Httpclient的get,post获取手机号码信息
- C#通过WebClient/HttpWebRequest实现http的post/get方法
- C#通过WebClient/HttpWebRequest实现http的post/get方法
- C#通过WebClient/HttpWebRequest实现http的post/get方法
- C#通过WebClient/HttpWebRequest实现http的post/get方法
- SpringMVC获取页面数据乱码的解决get/post
- C# 获取Post或Get返回的网页
- python网络爬虫学习(一)通过GET和POST方式获取页面内容
- as3+php通过post提交,get获取
- C#代码发送get/post请求的方法
- Post/Get方式获取Web页面
- C#使用GET、POST请求获取结果
- C#使用GET、POST请求获取结果
- C#使用GET、POST请求获取结果
- stl string常用函数
- [转帖]一句话让你明白FICO
- 应用序 or 正则序?
- main_loop分析
- 历程记录
- c#通过GET/POST获取页面的代码
- SpringMVC+Spring3.2+Hibernate4.2 @Transactional 事务不成功原因
- OSPF的LSA类型
- 进度条
- 链表的基本操作
- 面试100题系列之3一种关于拆分思路的算法
- lua 封装成C++风格的类
- IPhone 获取IMSI序列号
- java高新技术反射