/// <summary>
        ///
        /// </summary>
        /// <param name="stockCode"></param>
        /// <param name="start"></param>
        /// <param name="end"></param>
        /// <param name="type">cn为股票,zs为指数</param>
        public static void GetHistoryFromWeb(string stockCode, DateTime start, DateTime end, string type = "cn")
        {
            string url = @"http://q.stock.sohu.com/hisHq?code={3}_{0}&start={1}&end={2}".F(stockCode, start.ToString("yyyyMMdd"),
                                                                                           end.ToString("yyyyMMdd"), type);
            WebClientX client = new WebClientX();

            client.Timeout = 1000 * 120;
            var text = client.GetHtml(url);
            var doc  = new HtmlDocument();

            doc.LoadHtml(text);
            var value = doc.DocumentNode.InnerText;
            var et    = new StockHisText()
            {
                Code    = stockCode,
                Start   = start,
                End     = end,
                HisText = value
            };

            try
            {
                if (type == "zs")
                {
                    et.Code = "{0}_{1}".F("Index", et.Code);             //加前缀区分
                }
                et.Insert();
            }
            catch (Exception err)
            {
                XTrace.WriteException(err);
            }
        }
Пример #2
0
        static void Test4()
        {
            var str  = "~/Sso/Login";
            var uri2 = new Uri("Sso/Login", UriKind.Absolute);
            //var uri = str.AsUri("http://xxx.yyy.zzz/ss/dd/ff".AsUri());
            var uri = str.AsUri();

            //var cfg = CacheConfig.Current;
            //Console.WriteLine(cfg.GetOrAdd("Bill01"));

            //var set = cfg.GetOrAdd("aa_test", "redis");
            //Console.WriteLine(set);

            WebClientX.SetAllowUnsafeHeaderParsing(true);

            var url = "https://api.github.com/user?access_token=ccb5c1363318ee2fa1d9374e87961bdf01a4c682";

            var client = new WebClientX(true, true);
            //var buf = client.DownloadDataAsync(url).Result;
            //var ms = new MemoryStream(buf);
            //var ms2 = ms.DecompressGZip();
            //buf = ms2.ReadBytes();
            var html = client.GetHtml(url);

            Console.WriteLine(html);

            var ip = "223.5.5.5";

            ip = ip.IPToAddress();
            Console.WriteLine(ip);
        }
Пример #3
0
        public static HtmlDocument GetHtmlByUrl(this string url)
        {
            WebClientX client = new WebClientX();

            client.Timeout = 1000 * 120;
            var text = client.GetHtml(url);
            var doc  = new HtmlDocument();

            doc.LoadHtml(text);
            return(doc);
        }
Пример #4
0
        /// <summary>创建客户端</summary>
        /// <param name="url">路径</param>
        /// <returns></returns>
        protected override String Request(String url)
        {
            if (_Client == null)
            {
                // 允许宽松头部
                WebClientX.SetAllowUnsafeHeaderParsing(true);

                // 必须指定中文编码
                _Client = new WebClientX(true, true);
            }
            return(LastHtml = _Client.GetHtml(url));
        }
Пример #5
0
        public static void ParseStockGroup(GroupKind model, string url)
        {
            WebClientX client = new WebClientX();

            client.Timeout = 1000 * 120;
            var text = client.GetHtml(url);
            var doc  = new HtmlDocument();

            doc.LoadHtml(text);
            var value = doc.DocumentNode.InnerText;

            string node = @"/html[1]/body[1]/div[4]/div[1]/div[3]/table[1]/tbody[1]";
            var    res  = doc.DocumentNode.SelectSingleNode(node).SelectNodes(@"tr");

            if (res == null)
            {
                return;
            }
            if (res.Count > 1)
            {
                for (int i = 1; i < res.Count; i++)
                {
                    var        code = res[i].SelectSingleNode(@"td[1]").InnerText.Trim();
                    var        name = res[i].SelectSingleNode(@"td[2]").InnerText.Trim();
                    StockGroup et   = new StockGroup()
                    {
                        Code       = code,
                        StockName  = name,
                        GroupID    = model.ID,
                        Kind       = model.Kind,
                        CreateDate = DateTime.Now
                    };
                    et.ID = "{0}_{1}".F(et.GroupID, et.Code);
                    et.Save();
                }
                #endregion
            }
        }