溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

post提交獲得html頁(yè)面源碼的案例

發(fā)布時(shí)間:2020-10-26 09:29:38 來(lái)源:億速云 閱讀:312 作者:小新 欄目:web開(kāi)發(fā)

小編給大家分享一下post提交獲得html頁(yè)面源碼的案例,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

/// <summary>        /// 獲得頁(yè)面的html源碼  主要用于后臺(tái)生成靜態(tài)文件時(shí)獲得源碼        /// </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>        /// 獲得頁(yè)面的html源碼  主要用于后臺(tái)生成靜態(tài)文件時(shí)獲得源碼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數(shù)據(jù)。支持.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)
            {
                // 出錯(cuò)處理            }
 
            return result;
        }
 
        /// <summary>         /// 利用WebClient 遠(yuǎn)程POST數(shù)據(jù)并返回?cái)?shù)據(jù)         /// </summary>         /// <param name="strUrl">遠(yuǎn)程URL地址</param>         /// <param name="strParams">參數(shù),要提交的JSON字符串</param>         /// <param name="RespEncode">POST數(shù)據(jù)的編碼</param>         /// <param name="ReqEncode">獲取數(shù)據(jù)的編碼</param>         /// <returns></returns>         public static string PostData(string strUrl, string strParams, Encoding RespEncode, Encoding ReqEncode)
        {
            /**             * 本函數(shù)只支持.net4.5以上的框架            HttpClient httpclient = new HttpClient();            try            {                //打開(kāi)頁(yè)面                 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;                // 將字符串轉(zhuǎn)換成字節(jié)數(shù)組                 byte[] postData = Encoding.ASCII.GetBytes(postString);                // 上傳數(shù)據(jù),返回頁(yè)面的字節(jié)數(shù)組                 responseData = httpclient.UploadData(strUrl, "POST", postData);                srcString = ReqEncode.GetString(responseData);
                 return srcString;            }            catch (Exception ex)            {                //記錄異常日志                 //釋放資源                 httpclient.Dispose();                return string.Empty;            }            */            return "";
        }
 
 
        /// <summary>        /// 執(zhí)行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.ToInt64(j,0);            //string jS = BitConverter.ToString(j);            //jS = Convert.ToString(jS,10);            return System.Text.Encoding.Default.GetString(j);
 
            //目標(biāo)頁(yè)面獲取值   request.form["id"]
             /**            WebRequest request7 = WebRequest.Create(url);            request7.Method = "POST";
             //post傳參數(shù)                        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;            //轉(zhuǎn)化成json對(duì)象處理            //List<GetOrderQuantity> getOrderQuantity = sr.Deserialize<List<GetOrderQuantity>>(OrderQuantity);            **/        }

看完了這篇文章,相信你對(duì)post提交獲得html頁(yè)面源碼的案例有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI