Пример #1
0
        private async Task <NasdaqValue> InvestingNasdaq()
        {
            NasdaqValue output = new NasdaqValue();

            try
            {
                string url   = _configuration.GetValue <string>("Api:investing:IXIC:Url");
                string agent = "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0";
                using (HttpClient client = new HttpClient())
                {
                    client.DefaultRequestHeaders.Add("User-Agent", agent);
                    HttpResponseMessage response = await client.GetAsync(url);

                    if (response.StatusCode == System.Net.HttpStatusCode.OK)
                    {
                        Stream strOutput = await response.Content.ReadAsStreamAsync();

                        HtmlDocument doc = new HtmlDocument();
                        doc.Load(strOutput);
                        HtmlNodeCollection values = doc.DocumentNode.SelectNodes("//span[@class='float_lang_base_2 bold']");
                        HtmlNode           value  = doc.DocumentNode.SelectSingleNode("//span[@id='last_last']");
                        output = new NasdaqValue()
                        {
                            Open  = decimal.Parse(values[3].InnerHtml),
                            Close = decimal.Parse(values[0].InnerHtml)
                        };
                    }
                }

                return(output);
            }
            catch (Exception ex)
            {
                LogResponse("NASDAQ_ERROR", JsonConvert.SerializeObject(ex));
                return(null);
            }
        }
Пример #2
0
        private async Task <NasdaqValue> AlphaVantage_Nasdaq()
        {
            NasdaqValue output = new NasdaqValue();

            try
            {
                string apiUrl  = _configuration.GetValue <string>("Api:alphavantage:IXIC:Url");
                string apiKeys = _configuration.GetValue <string>("Api:alphavantage:ApiKeys");
                string apiKey  = apiKeys.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries).OrderBy(x => Guid.NewGuid()).First();
                apiUrl = string.Format(apiUrl, apiKey);

                using (HttpClient client = new HttpClient())
                {
                    HttpResponseMessage response = await client.GetAsync(apiUrl);

                    if (response.StatusCode == System.Net.HttpStatusCode.OK)
                    {
                        string strOutput = await response.Content.ReadAsStringAsync();

                        //LogResponse("NASDAQ", strOutput);
                        Models.AlphaVantage.NasdaqModel model = JsonConvert.DeserializeObject <Models.AlphaVantage.NasdaqModel>(strOutput);
                        output = new NasdaqValue()
                        {
                            Open  = model.TimeSeries.FirstOrDefault().Value.Open,
                            Close = model.TimeSeries.FirstOrDefault().Value.Close
                        };
                    }
                }

                return(output);
            }
            catch (Exception ex)
            {
                LogResponse("NASDAQ_ERROR", JsonConvert.SerializeObject(ex));
                return(null);
            }
        }