Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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);
        }
Exemplo n.º 3
0
        /// <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);
            }
        }
Exemplo n.º 4
0
        /// <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);
            }
        }
Exemplo n.º 5
0
        //#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;
            }
        }