/// <summary> /// 获取远程文件源代码 good HttpWebRequest /// </summary> /// <param name="url">url</param> /// <param name="encoding">编码</param> /// <param name="timeout">超时时间</param> /// <returns>获取远程文件源代码 线程安全</returns> public static string GetRemoteHtmlCode2(string url, System.Text.Encoding encoding = null, int timeout = 0) { url += (url.IndexOf("?") >= 0 ? "&time=" : "?time=") + Rand.RndDateStr(); string s = ""; HttpWebResponse response = null; StreamReader stream = null; try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); if (timeout > 1) { request.Timeout = timeout; } response = (HttpWebResponse)request.GetResponse(); stream = new StreamReader(response.GetResponseStream(), encoding.IfNull(Encoding.UTF8)); s = stream.ReadToEnd(); } catch { } finally { if (stream.IsNotNull()) { stream.Close(); } if (response.IsNotNull()) { response.Close(); } } return(s); }
/// <summary> /// 获取远程文件源代码 HttpWebRequest UserAgent + Referer + AllowAutoRedirect /// </summary> /// <param name="url">url</param> /// <param name="encoding">编码</param> /// <param name="timeout">超时时间</param> /// <returns>获取远程文件源代码</returns> public static string GetRemoteHtmlCode3(string url, System.Text.Encoding encoding = null, int timeout = 0) { url += (url.IndexOf("?") >= 0 ? "&time=" : "?time=") + Rand.RndDateStr(); string s = ""; HttpWebResponse response = null; StreamReader stream = null; try { HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); request.AllowAutoRedirect = true; if (timeout > 1) { request.Timeout = timeout; } request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)"; request.Referer = url; response = (HttpWebResponse)request.GetResponse(); stream = new StreamReader(response.GetResponseStream(), encoding.IfNull(Encoding.UTF8)); s = stream.ReadToEnd(); } catch { } finally { if (stream.IsNotNull()) { stream.Close(); } if (response.IsNotNull()) { response.Close(); } } return(s); }
/// <summary> /// 获取远程文件源代码 WebClient DownloadData /// </summary> /// <param name="url">url</param> /// <param name="encoding">编码</param> /// <returns>获取远程文件源代码</returns> public static string GetRemoteHtmlCode4(string url, System.Text.Encoding encoding = null) { url += (url.IndexOf("?") >= 0 ? "&time=" : "?time=") + Rand.RndDateStr(); using (WebClient wc = new WebClient()) { #if !MONO40 wc.Credentials = CredentialCache.DefaultCredentials; #endif Byte[] pageData = wc.DownloadData(url); string content = encoding.IfNull(Encoding.UTF8).GetString(pageData); return(content); } }
/// <summary> /// 获取远程文件源代码 WebClient UploadData /// </summary> /// <param name="url">远程url</param> /// <param name="encoding">编码</param> /// <returns>获取远程文件源代码</returns> public static string GetRemoteHtmlCode5(string url, System.Text.Encoding encoding = null) { url += (url.IndexOf("?") >= 0 ? "&time=" : "?time=") + Rand.RndDateStr(); string postString = ""; using (WebClient webClient = new WebClient()) { webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded"); byte[] postData = Encoding.ASCII.GetBytes(postString); byte[] responseData = webClient.UploadData(url, "POST", postData); string srcString = encoding.IfNull(Encoding.UTF8).GetString(responseData); return(srcString); } }
//#endregion //#region 上传文件 /// <summary> /// 上传文件 /// </summary> /// <param name="fileUpload">fileUpload组件</param> public void DoUpLoad(System.Web.UI.WebControls.FileUpload fileUpload) { string __filePath = HttpContext.Current.Server.MapPath(_filePath); if (!System.IO.Directory.Exists(__filePath)) { if (_isCreateFolderForNotExits) { FileDirectory.DirectoryVirtualCreate(_filePath); } else { _State = 3; return; } } if (fileUpload.PostedFile.ContentLength / 1024 > _maxFileSize) { _State = 4; return; } string randStr = ""; switch (_RandFileType) { case RandFileType.None: randStr = ""; break; case RandFileType.FileName_DateTime: randStr = "_" + Rand.RndDateStr(); break; case RandFileType.FileName_RandNumber: randStr = "_" + Rand.RndCode(_RandNumbers); break; case RandFileType.DateTime: randStr = Rand.RndDateStr(); break; } bool isTrue = false; if (fileUpload.HasFile) { string _fileExt = System.IO.Path.GetExtension(fileUpload.FileName).ToLower(); string[] _allowedExt = _allowedExtensions.Split(new string[] { "|" }, StringSplitOptions.None); for (int i = 0; i < _allowedExt.Length; i++) { if (_fileExt == _allowedExt[i]) { isTrue = true; } } if (isTrue) { try { string fNameNoExt = System.IO.Path.GetFileNameWithoutExtension(fileUpload.FileName); if (_RandFileType == RandFileType.DateTime) { fNameNoExt = ""; } fileUpload.SaveAs(__filePath + fNameNoExt + randStr + System.IO.Path.GetExtension(fileUpload.FileName)); _State = 0; _fileSize = fileUpload.PostedFile.ContentLength / 1024; _fileName = _filePath + fNameNoExt + randStr + System.IO.Path.GetExtension(fileUpload.FileName); } catch { _State = 2; } } else { _State = 1; } } else { _State = 2; } }