中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

asp.net下獲取遠程網頁的內容之二(downmoon原創)

本文僅針AD下代理上網的情況:
代碼如下:
1、定義變量:
 定義變量#region  定義變量
復制代碼 代碼如下:
private    string strFireWallIP 
        ...{ 
            get 
            ...{ 
                return System.Configuration.ConfigurationSettings.AppSettings["strFireWallIP"]; 
            } 
        } 
        private    string strFireWallPort 
        ...{ 
            get 
            ...{ 
                return System.Configuration.ConfigurationSettings.AppSettings["strFireWallPort"]; 
            } 
        } 
        private    string strUID 
        ...{ 
            get 
            ...{ 
                return System.Configuration.ConfigurationSettings.AppSettings["strUID"]; 
            } 
        } 
        private    string strPWD 
        ...{ 
            get 
            ...{ 
                return System.Configuration.ConfigurationSettings.AppSettings["strPWD"]; 
            } 
        } 
        private    string strDomain 
        ...{ 
            get 
            ...{ 
                return System.Configuration.ConfigurationSettings.AppSettings["strDomain"]; 
            } 
        } 
        #endregion 

方法:
獲取指定遠程網頁內容
復制代碼 代碼如下:
 /**//// <summary> 
        /// 獲取指定遠程網頁內容 
        /// </summary> 
        /// <param name="strUrl">所要查找的遠程網頁地址</param> 
        /// <returns></returns> 
        //[WebMethod(Description = "獲取指定遠程網頁內容。")] 
        public string getPageContent(string strUrl) 
        ...{ 
            string strResult        =    ""; 
            this.CurrentUrl    =     strUrl; 
            if(this.CurrentUrl.ToLower().StartsWith("http://")==false) 
                this.CurrentUrl = "http://"+this.CurrentUrl; 
            try 
            ...{ 
                contentBytes    = GetHtmlByte(CurrentUrl); 
            } 
            catch(Exception err) 
            ...{ 
                strResult = "請求錯誤:" + err.Message; 
            } 
            if(contentBytes==null) 
            ...{ 
                throw new Exception("沒有獲得返回值"); 
            } 
            strResult        =    getStringFromByteArray(contentBytes,Encoding.UTF8); 
            return strResult; 
        } 

獲取指定遠程網頁元素字節數組::
 獲取指定遠程網頁元素字節數組#region 獲取指定遠程網頁元素字節數組
復制代碼 代碼如下:
        /**//// <summary> 
        /// 獲取指定遠程網頁元素字節數組 
        /// </summary> 
        /// <param name="strUrl">所要查找的遠程網頁地址</param> 
        /// <returns></returns> 
        private byte[] GetHtmlByte(string strUrl) 
        ...{ 
            string strPara=(strUrl.IndexOf("?")>=0?strUrl.Substring(strUrl.IndexOf("?")+1):""); 
            System.Text.Encoding encoding    =    new UTF8Encoding(); 
            byte[]  byte1                    =    encoding.GetBytes(strPara); 
            byte[]    byteReturn                =    new byte[10000000]; 
            if(strUrl.Trim().ToLower().StartsWith("http://")==false) 
            ...{ 
                strUrl = "http://"+strUrl; 
            } 
            HttpWebRequest myHttpWebRequest        =    (HttpWebRequest)WebRequest.Create(strUrl); 
            myHttpWebRequest.AllowAutoRedirect    =    true;        
            myHttpWebRequest.KeepAlive            =    true; 
            myHttpWebRequest.UserAgent            =    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)"; 
            System.NET .WebProxy  proxy = new WebProxy(strFireWallIP+":"+strFireWallPort,true); 
            //proxy=(WebProxy)System.NET.GlobalProxySelection.Select; 
            System.NET.NETworkCredential myCredential = new NETworkCredential(strUID,strPWD,strDomain); 
            proxy.Credentials =myCredential; 
            myHttpWebRequest.Proxy = proxy; 
            HttpWebResponse myHttpWebResponse    =    (HttpWebResponse)myHttpWebRequest.GetResponse(); 
            byte[] bRead    =    new byte[1024]; 
            int lngCount    =    1; 
            int totalLen    =    0; 
            Stream recWeb    =    myHttpWebResponse.GetResponseStream();    
            lngCount        =    recWeb.Read(bRead,0,1024); 
            while(lngCount>0) 
            ...{ 
                Array.Copy(bRead,0,byteReturn,totalLen,lngCount); 
                totalLen    +=    lngCount; 
                lngCount    =    recWeb.Read(bRead,0,1024); 
            } 
            recWeb.Close(); 
            byte[] byteGets =    new byte[totalLen]; 
            Array.Copy(byteReturn,0,byteGets,0,totalLen); 
            byteReturn        =    null; 
            bRead            =    null; 
            return byteGets; 
        } 
        #endregion 

轉換指定字節數組為字符串::
     轉換指定字節數組為字符串#region 轉換指定字節數組為字符串 
 復制代碼 代碼如下:
       /**//// <summary> 
        /// 轉換指定字節數組為字符串 
        /// </summary> 
        /// <param name="ByteGet">字節數組Byte[]</param> 
        /// <param name="myEncoding">編碼方式</param> 
        /// <returns></returns> 
        private static string getStringFromByteArray(Byte[] ByteGet,Encoding myEncoding) 
        ...{ 
            int i,lngCount; 
            StringBuilder aTemp = new StringBuilder(10000); 
            lngCount = ByteGet.Length; 
            for(i = 0;i<lngCount;i+= 10000) 
            ...{ 
                aTemp.Append(myEncoding.GetString(ByteGet,i,(lngCount>=i+10000?10000:lngCount - i))); 
            } 
            if(i<=lngCount) 
            ...{ 
                aTemp.Append(myEncoding.GetString(ByteGet,i,(lngCount - i))); 
            } 
            return aTemp.ToString(); 
        } 
        #endregion 
借用這個,寫了個抽取中國天氣網預報的服務!很爽!

AspNet技術asp.net下獲取遠程網頁的內容之二(downmoon原創),轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产欧美一区二区三区在线看蜜臀 | 欧美日韩成人 | 91精品国产91久久综合桃花 | 中文精品久久 | 欧美成人猛片aaaaaaa | 丝袜毛片 | 成在线人视频免费视频 | 九九福利| 久久国产精品-久久精品 | 亚洲国产精品区 | 国产成人jvid在线播放 | 国产japanhdxxxx麻豆 | 日日干日日操 | 成人欧美一区二区 | 在线观看成人 | xnxx 日本免费| 一区二区三区四区国产 | 欧美精品v国产精品v日韩精品 | 欧美一区二区三区久久精品视 | 久久日韩精品 | av大片在线观看 | 久久久精品国产 | 91久久精品一区二区二区 | 午夜影视| 久久er99热精品一区二区 | 国产99精品 | com.国产 | 91视频导航| 国产区精品在线观看 | 色久影院 | 免费看黄色小视频 | 欧美日韩一区二区三区在线观看 | 午夜影院在线观看视频 | 久久精品国产99国产精品 | av在线一区二区三区 | 中文字幕欧美日韩一区 | 成人在线免费视频 | 自拍视频在线观看 | 在线观看视频中文字幕 | 欧美日韩免费在线 | 2018天天干天天操 |