zoukankan      html  css  js  c++  java
  • GetData

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Web;
    using System.IO;
    using System.Net;

    namespace Framework.Common
    {
        public class GatherData
        {

            #region 获取指定远程网页内容
            /// <summary>
            /// 获取指定远程网页内容
            /// </summary>
            /// <param name="strUrl">所要查找的远程网页地址</param>
            /// <param name="timeout">超时时长设置,一般设置为8000</param>
            /// <param name="enterType">是否输出换行符,0不输出,1输出文本框换行</param>
            /// <param name="EnCodeType">编码方式</param>
            /// <returns></returns>
            public static string GetRequestString(string strUrl, int timeout, int enterType, Encoding EnCodeType)
            {
                string strResult;
                try
                {
                    HttpWebRequest myReq = (HttpWebRequest)HttpWebRequest.Create(strUrl);
                    myReq.Timeout = timeout;
                    HttpWebResponse HttpWResp = (HttpWebResponse)myReq.GetResponse();
                    Stream myStream = HttpWResp.GetResponseStream();
                    StreamReader sr = new StreamReader(myStream, EnCodeType);
                    StringBuilder strBuilder = new StringBuilder();
                    while (-1 != sr.Peek())
                    {
                        strBuilder.Append(sr.ReadLine());
                        if (enterType == 1)
                        {
                            strBuilder.Append("\r\n");
                        }
                    }
                    strResult = strBuilder.ToString();
                }
                catch (Exception err)
                {
                    strResult = "请求错误:" + err.Message;
                }
                return strResult;
            }

            /// <summary>
            /// 获取初始网页内容
            /// </summary>
            /// <param name="strLink">网页地址</param>
            /// <returns>网页内容</returns>
            public static string GetRequestString(string strLink)
            {
                if (!strLink.Contains("http://"))
                {
                    strLink = "http://" + strLink;
                }
                WebRequest myRequest = WebRequest.Create(strLink);
                WebResponse myResponse = myRequest.GetResponse();
                StreamReader streamReader = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.Default, true);
                return streamReader.ReadToEnd();
            }

            /// <summary>
            /// 通过WebClient获取初始网页内容
            /// </summary>
            /// <param name="strLink">网页地址</param>
            /// <returns>网页内容</returns>
            public static string GetStrByWebClient(string strLink)
            {
                string result = string.Empty;
                WebClient wc = new WebClient();
                wc.Credentials = CredentialCache.DefaultCredentials;

                ///方法一:
                Byte[] pageData = wc.DownloadData(strLink);
                result = Encoding.Default.GetString(pageData);
                wc.Dispose();


                ///// 方法二:
                //Stream resStream = wc.OpenRead(strLink);
                //StreamReader sr = new StreamReader(resStream, System.Text.Encoding.Default);
                //result = sr.ReadToEnd();
                //resStream.Close();

                return result;
            }
            #endregion

            /// <summary>
            /// 获取初始网页内容
            /// </summary>
            /// <param name="strLink"></param>
            /// <returns></returns>
            public string GetSiteInfo(string strLink)
            {
                WebRequest myRequest = WebRequest.Create(strLink);
                WebResponse myResponse = myRequest.GetResponse();
                StreamReader streamReader = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.Default, true);
                return streamReader.ReadToEnd();
            }

            private static string PostData(string url, string postdata, CookieContainer cookieContainer)
            {
                string outdata = string.Empty;
               
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.ContentType = "application/x-www-form-urlencoded";
                request.ContentLength = postdata.Length;
                request.Method = "POST";
                request.CookieContainer = cookieContainer;
                using (Stream inStream = request.GetRequestStream())
                {
                    using (StreamWriter sw = new StreamWriter(inStream, Encoding.GetEncoding("gb2312")))
                    {
                        sw.Write(postdata);
                    }
                }

                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                response.Cookies = cookieContainer.GetCookies(request.RequestUri);
                using (Stream outStream = response.GetResponseStream())
                {
                    using (StreamReader sr = new StreamReader(outStream, Encoding.GetEncoding("gb2312")))
                    {
                        outdata = sr.ReadToEnd();
                    }
                }

                return outdata;
            }

            private static string GetDate(string url, CookieContainer myCookieContainer)
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.ContentType = "text/html";
                request.Method = "GET";
                request.CookieContainer = myCookieContainer;
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();

                string outdata = string.Empty;

                if (request.HaveResponse)
                {
                    foreach (Cookie returnCookie in response.Cookies)
                    {
                        bool cookieFound = false;

                        foreach (Cookie oldCookie in myCookieContainer.GetCookies(request.RequestUri))
                        {
                            if (returnCookie.Name.Equals(oldCookie.Name))
                            {
                                oldCookie.Value = returnCookie.Value;
                                cookieFound = true;
                            }
                        }

                        if (!cookieFound)
                            myCookieContainer.Add(returnCookie);
                    }
                }

                using (Stream outStream = response.GetResponseStream())
                {
                    using (StreamReader sr = new StreamReader(outStream, Encoding.GetEncoding("gb2312")))
                    {
                        outdata = sr.ReadToEnd();
                    }
                }

                return outdata;
            }
        }
    }

  • 相关阅读:
    express 连接 moogdb 数据库
    数组 去重
    vue 路由meta 设置title 导航隐藏
    :src 三目运算
    axios baseURL
    js对象修改 键
    Swiper隐藏后在显示滑动问题
    字符串中的替换
    获取服务器时间
    vue a链接 添加参数
  • 原文地址:https://www.cnblogs.com/zwei1121/p/1247130.html
Copyright © 2011-2022 走看看