Example #1
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);
        }
Example #2
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);
        }
Example #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);
            }
        }
Example #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);
            }
        }
Example #5
0
        /// <summary>
        /// 读取文件中的内容  线程安全
        /// </summary>
        /// <param name="fileName">文件名</param>
        /// <param name="encoding">编码</param>
        /// <returns>读取文件中的内容</returns>
        public static string FileReadAll(string fileName, Encoding encoding = null) {
            string text = string.Empty;
            if (!FileDirectory.FileExists(fileName)) { return text; }

            using (StreamReader reader = new StreamReader(fileName, encoding.IfNull(Encoding.UTF8))) 
                return reader.ReadToEnd();
        }
Example #6
0
        /// <summary>
        /// 读取文件中的内容
        /// </summary>
        /// <param name="fileName">文件名</param>
        /// <param name="encoding">编码</param>
        /// <returns>读取文件中的内容</returns>
        public static IList<string> FileRead(string fileName, Encoding encoding = null) {
            string lineText = null; IList<string> txtTextArr = new List<string>();
            if (!FileDirectory.FileExists(fileName)) { return txtTextArr; }

            using (StreamReader reader = new StreamReader(fileName, encoding.IfNull(Encoding.UTF8))) {
                while ((lineText = reader.ReadLine()).IsNotNull()) txtTextArr.Add(lineText);
            }
            return txtTextArr;
        }
Example #7
0
 /// <summary>
 /// 写日志 线程安全
 /// </summary>
 /// <param name="fileName">文件</param>
 /// <param name="str">消息</param>
 /// <param name="encoding">编码</param>
 private static bool WriteForFileStream(string fileName, string str, Encoding encoding = null) {
     bool _isTrue = false;
     if (encoding.IsNull()) encoding = Encoding.Default;
     lock (lockHelper) {
         using (FileStream fs = FileDirectory.FileExists(fileName) ? File.OpenWrite(fileName) : File.Create(fileName)) {
             byte[] bt = encoding.IfNull(Encoding.UTF8).GetBytes(str + Environment.NewLine);
             fs.Seek(0, SeekOrigin.End);
             fs.Write(bt, 0, bt.Length);
             _isTrue = true;
         }
     }
     return _isTrue;
 }
Example #8
0
 /// <summary>
 /// 写日志 线程安全
 /// </summary>
 /// <param name="fileName">文件</param>
 /// <param name="str">消息</param>
 /// <param name="encoding">编码</param>
 private static bool WriteForStreamWriter(string fileName, string str, Encoding encoding = null) {
     bool _isTrue = false;
     if (encoding.IsNull()) encoding = Encoding.Default;
     lock (lockHelper) {
         using (System.IO.StreamWriter f2 = new System.IO.StreamWriter(fileName, true, encoding.IfNull(Encoding.UTF8))) { f2.WriteLine(str); _isTrue = true; }
     }
     return _isTrue;
 }
Example #9
0
 /// <summary>
 /// 到指定的URL发送一个GET请求
 /// </summary>
 /// <param name="url">请求的URL</param>
 /// <param name="contentType">请求的内容类型。默认值是'application/x-www-form-urlencoded'.</param>
 /// <param name="credentials">使用的凭据</param>
 /// <returns>返回请求的数据</returns>
 public static string SendGet(string url, string contentType, ICredentials credentials, Encoding encoding = null) {
     return SendRequest(url, null, "GET", contentType, null, null, credentials, null, null, encoding.IfNull(Encoding.UTF8));
 }
Example #10
0
 /// <summary>
 /// POST数据
 /// </summary>
 /// <param name="url">URL</param>
 /// <param name="postData">数据</param>
 /// <param name="contentType">请求的内容类型。默认值是'application/x-www-form-urlencoded'</param>
 /// <param name="credentials">使用的凭据</param>
 /// <param name="timeout">超时</param>
 /// <returns>返回请求的数据</returns>
 public static string SendPost(string url, string postData, string contentType, ICredentials credentials, int? timeout, Encoding encoding = null) {
     return SendRequest(url, postData, "POST", contentType, null, null, credentials, null, timeout, encoding.IfNull(Encoding.UTF8));
 }