扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
定义变量#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 |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者