/// <summary>根据指定的url下载并返回文本数据</summary> /// <param name="det">获取字节流编码</param> /// <param name="surl">指定的url</param> /// <param name="cmode">页面编码获取模式,=0:自动,=1:每页自动,=2:自定义</param> /// <param name="pencoding">返回文本编码</param> /// <param name="pcoding">返回文本编码文本</param> /// <param name="errs">下载失败则返回错误信息</param> /// <returns>根据指定的url下载并返回文本数据</returns> public static string GetHttp(ByteEncode det, string surl, int cmode, ref Encoding pencoding, ref string pcoding, ref string errs) { try { string s = ""; WebClient wclient = new WebClient(); wclient.Credentials = CredentialCache.DefaultCredentials; byte[] bytes = wclient.DownloadData(Often.UrlEn(surl)); if (cmode == 0) { s = GetEncoding(det, bytes, ref pcoding).GetString(bytes); } else if (cmode == 1) { s = GetEncoding(det, bytes, ref pcoding).GetString(bytes); } else if (cmode == 2) { s = Encoding.GetEncoding(pcoding).GetString(bytes); } wclient.Dispose(); return(s); } catch (Exception ex) { errs = ex.Message; return(""); } }
/// <summary>根据指定的解码模式解码指定的字符串</summary> /// <param name="s">指定的字符串</param> /// <param name="cMode">解码模式,=0:不解码,=1:Html解码,=2:Url解码,=3:Escape解码,=4:EURI解码,=11:Html编码,=12:Url编码,=13:Escape编码,=14:EURI编码</param> /// <returns>根据指定的解码模式解码指定的字符串</returns> public static string GetUnCode(string s, int cMode) { if (cMode == 1) { return(Often.HtmlDecode(s)); } else if (cMode == 2) { return(Often.UrlDes(s)); } else if (cMode == 3) { return(Often.Unescape(s)); } else if (cMode == 4) { return(Often.DecodeURI(s)); } else if (cMode == 11) { return(Often.HtmlEncode(s)); } else if (cMode == 12) { return(Often.UrlEn(s)); } else if (cMode == 13) { return(Often.Escape(s)); } else if (cMode == 14) { return(Often.EncodeURI(s)); } return(s); }