0

0

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

小云云

小云云

发布时间:2018-03-05 14:20:26

|

4144人浏览过

|

来源于php中文网

原创

本文主要和大家分享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、对所有传输的字符串进行安全

下载

相关文章

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Java 项目构建与依赖管理(Maven / Gradle)
Java 项目构建与依赖管理(Maven / Gradle)

本专题系统讲解 Java 项目构建与依赖管理的完整体系,重点覆盖 Maven 与 Gradle 的核心概念、项目生命周期、依赖冲突解决、多模块项目管理、构建加速与版本发布规范。通过真实项目结构示例,帮助学习者掌握 从零搭建、维护到发布 Java 工程的标准化流程,提升在实际团队开发中的工程能力与协作效率。

3

2026.01.12

c++主流开发框架汇总
c++主流开发框架汇总

本专题整合了c++开发框架推荐,阅读专题下面的文章了解更多详细内容。

98

2026.01.09

c++框架学习教程汇总
c++框架学习教程汇总

本专题整合了c++框架学习教程汇总,阅读专题下面的文章了解更多详细内容。

53

2026.01.09

学python好用的网站推荐
学python好用的网站推荐

本专题整合了python学习教程汇总,阅读专题下面的文章了解更多详细内容。

139

2026.01.09

学python网站汇总
学python网站汇总

本专题整合了学python网站汇总,阅读专题下面的文章了解更多详细内容。

12

2026.01.09

python学习网站
python学习网站

本专题整合了python学习相关推荐汇总,阅读专题下面的文章了解更多详细内容。

19

2026.01.09

俄罗斯手机浏览器地址汇总
俄罗斯手机浏览器地址汇总

汇总俄罗斯Yandex手机浏览器官方网址入口,涵盖国际版与俄语版,适配移动端访问,一键直达搜索、地图、新闻等核心服务。

84

2026.01.09

漫蛙稳定版地址大全
漫蛙稳定版地址大全

漫蛙稳定版地址大全汇总最新可用入口,包含漫蛙manwa漫画防走失官网链接,确保用户随时畅读海量正版漫画资源,建议收藏备用,避免因域名变动无法访问。

437

2026.01.09

php学习网站大全
php学习网站大全

精选多个优质PHP入门学习网站,涵盖教程、实战与文档,适合零基础到进阶开发者,助你高效掌握PHP编程。

49

2026.01.09

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Bootstrap 5教程
Bootstrap 5教程

共46课时 | 2.9万人学习

AngularJS教程
AngularJS教程

共24课时 | 2.5万人学习

CSS教程
CSS教程

共754课时 | 18.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号