您好,欢迎来到匠吉游戏。
搜索
您的当前位置:首页post提交获得html页面源码的实现代码

post提交获得html页面源码的实现代码

来源:匠吉游戏


本文主要和大家分享post提交获得html页面源码的实现代码,希望能帮助到大家。

/// <summary> /// 获得页面的html源码 主要用于后台生成静态文件时获得源码 /// </summary> /// <param name="url"></param> /// <returns></returns> public static string GetPageHTML(string url)
 {
 string httpString = string.Empty;
 WebRequest request = WebRequest.Create(url);
 request.Timeout = 200000; 
 using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
 {
 if (response.StatusDescription.ToLower().Equals("ok"))
 {
 using (StreamReader writer = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("GB2312")))
 {
 httpString = writer.ReadToEnd();
 }
 }
 }
 return httpString;
 }
 
 
 /// <summary> /// 获得页面的html源码 主要用于后台生成静态文件时获得源码UTF-8 /// </summary> /// <param name="url"></param> /// <returns></returns> public static string GetPageHTMLUTF8(string url)
 {
 string httpString = string.Empty;
 WebRequest request = WebRequest.Create(url);
 request.Timeout = 200000; 
 using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
 {
 if (response.StatusDescription.ToLower().Equals("ok"))
 {
 using (StreamReader writer = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("UTF-8")))
 {
 httpString = writer.ReadToEnd();
 }
 }
 }
 return httpString;
 }
 
 
 /// <summary> /// post提交JSON数据。支持.net4.0及以下的版本 /// </summary> /// <param name="url"></param> /// <param name="json"></param> /// <returns></returns> public static string GetHtmlByJson(string url, string json = "")
 {
 var result = string.Empty;
 
 try {
 var request = WebRequest.Create(url) as HttpWebRequest;
 request.ContentType = "text/json";
 request.Method = "post";
 //request.CookieContainer = _cookie;
 using (var streamWriter = new StreamWriter(request.GetRequestStream()))
 {
 streamWriter.Write(json);
 streamWriter.Flush();
 streamWriter.Close();
 
 var response = (HttpWebResponse)request.GetResponse();
 
 using (var reader = new StreamReader(response.GetResponseStream()))
 {
 result = reader.ReadToEnd();
 }
 }
 }
 catch (UriFormatException uex)
 {
 // 出错处理 }
 
 return result;
 }
 
 /// <summary> /// 利用WebClient 远程POST数据并返回数据 /// </summary> /// <param name="strUrl">远程URL地址</param> /// <param name="strParams">参数,要提交的JSON字符串</param> /// <param name="RespEncode">POST数据的编码</param> /// <param name="ReqEncode">获取数据的编码</param> /// <returns></returns> public static string PostData(string strUrl, string strParams, Encoding RespEncode, Encoding ReqEncode)
 {
 /** * 本函数只支持.net4.5以上的框架 HttpClient httpclient = new HttpClient(); try { //打开页面 httpclient.Credentials = CredentialCache.DefaultCredentials; //从指定的URI下载资源 byte[] responseData = httpclient.DownloadData(strUrl); string srcString = RespEncode.GetString(responseData);
 httpclient.Headers.Add("Content-Type", "application/x-www-form-urlencoded"); string postString = strParams; // 将字符串转换成字节数组 byte[] postData = Encoding.ASCII.GetBytes(postString); // 上传数据,返回页面的字节数组 responseData = httpclient.UploadData(strUrl, "POST", postData); srcString = ReqEncode.GetString(responseData);
 return srcString; } catch (Exception ex) { //记录异常日志 //释放资源 httpclient.Dispose(); return string.Empty; } */ return "";
 }
 
 
 /// <summary> /// 执行POST提交范例 /// </summary> /// <param name="url"></param> /// <param name="postdata">"LoginName=365admin&Password=fob123"</param> /// <returns></returns> public static string PostPageHTMLUTF8(string url, string postdata)
 {
 WebClient client = new WebClient();
 System.Collections.Specialized.NameValueCollection list = new System.Collections.Specialized.NameValueCollection(); 
 list.Add("opencheckindatatype", "3");
 list.Add("starttime", "1492617600");
 list.Add("endtime", "1492790400");
 // "useridlist": ["james","paul"] list.Add("useridlist", "['TuHuaXing']"); 
 byte[] j = client.UploadValues(url, list);
 //var dec = BitConverter.ToInt(j,0); //string jS = BitConverter.ToString(j); //jS = Convert.ToString(jS,10); return System.Text.Encoding.Default.GetString(j);
 
 //目标页面获取值 request.form["id"]
 /** WebRequest request7 = WebRequest.Create(url); request7.Method = "POST";
 //post传参数 byte[] bytes = Encoding.ASCII.GetBytes(postdata); request7.ContentType = "application/x-www-form-urlencoded"; request7.ContentLength = postdata.Length; request7.S Stream sendStream = request7.GetRequestStream(); sendStream.Write(bytes, 0, bytes.Length); sendStream.Close();
 //得到返回值 WebResponse response7 = request7.GetResponse(); string OrderQuantity = new StreamReader(response7.GetResponseStream(), Encoding.GetEncoding("utf-8")).ReadToEnd(); return OrderQuantity; //转化成json对象处理 //List<GetOrderQuantity> getOrderQuantity = sr.Deserialize<List<GetOrderQuantity>>(OrderQuantity); **/ }

Copyright © 2019- jianjh.net 版权所有

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务