本文主要和大家分享post提交获得html页面源码的实现代码,希望能帮助到大家。
////// 获得页面的html源码 主要用于后台生成静态文件时获得源码 /// /// ///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; } /// /// 获得页面的html源码 主要用于后台生成静态文件时获得源码UTF-8 /// /// ///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; } /// /// post提交JSON数据。支持.net4.0及以下的版本 /// /// /// ///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; } /// /// 利用WebClient 远程POST数据并返回数据 /// /// 远程URL地址 /// 参数,要提交的JSON字符串 /// POST数据的编码 /// 获取数据的编码 ///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 ""; } /// /// 执行POST提交范例 /// /// /// "LoginName=365admin&Password=fob123" ///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.ToInt64(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 = sr.Deserialize >(OrderQuantity); **/ }
相关推荐:
jquery获得当前html页面源码的方法_jquery
1、对ASP内核代码进行DLL封装,从而大大提高了用户的访问速度和安全性;2、采用后台生成HTML网页的格式,使程序访问速度得到进一步的提升;3、用户可发展下级会员并在下级购买商品时获得差额利润;4、全新模板选择功能;5、后台增加磁盘绑定功能;6、后台增加库存查询功能;7、后台增加财务统计功能;8、后台面值类型批量设定;9、后台财务曲线报表显示;10、完善订单功能;11、对所有传输的字符串进行安全










