public SearchBE Search(string query)
        {
            SearchBE r = new SearchBE();

            try
            {
                string apiKey         = AppSettingsHelper.GetValue("GoogleAPIKey");
                string searchEngineID = AppSettingsHelper.GetValue("GoogleSearchEngineID");

                CustomsearchService service = new CustomsearchService(new BaseClientService.Initializer {
                    ApiKey = apiKey
                });
                CseResource.ListRequest rq = service.Cse.List(query);
                rq.Cx = searchEngineID;

                Search search = rq.Execute();
                if (search != null)
                {
                    r.SearchEngine      = "Google";
                    r.Query             = query;
                    r.TotalResult       = search.SearchInformation.TotalResults;
                    r.FormatTotalResult = search.SearchInformation.FormattedTotalResults;
                    r.Time = search.SearchInformation.SearchTime;
                }
            }
            catch (Exception e)
            {
                r.SearchEngine = "Google";
                r.Query        = query + e.Message;
                r.TotalResult  = 0;
                r.Time         = 0;
            }
            return(r);
        }
        public SearchBE Search(string query)
        {
            SearchBE r = new SearchBE();

            try
            {
                HttpClient GoogleSearch = new HttpClient()
                {
                    BaseAddress = new Uri("https://www.googleapis.com/")
                };

                JObject result = new JObject();
                string  key    = ConfigurationManager.AppSettings.Get("GoogleAPIKey");
                string  cx     = ConfigurationManager.AppSettings.Get("GoogleAPIcx");

                var response = GoogleSearch.GetAsync("customsearch/v1?key=" + key + "&cx=" + cx + "&q=" + query).Result;

                response.EnsureSuccessStatusCode();

                if (response.IsSuccessStatusCode)
                {
                    var jsonString = response.Content.ReadAsStringAsync().Result;
                    result = JsonConvert.DeserializeObject <JObject>(jsonString);
                    if (result != null)
                    {
                        r.searchEngine = "Google";
                        r.query        = query;
                        r.resultCount  = long.Parse(result["queries"]["request"][0]["totalResults"].ToString());
                    }
                }
                else
                {
                    r.searchEngine = "Google";
                    r.query        = query;
                    r.resultCount  = 0;
                }
            }
            catch (Exception e)
            {
                r.searchEngine = "Google";
                r.query        = query + e.Message;
                r.resultCount  = 0;
            }

            return(r);
        }
Beispiel #3
0
        public SearchBE Search(string query)
        {
            SearchBE r = new SearchBE();

            try
            {
                string accessKey = AppSettingsHelper.GetValue("BINGAccessKey");
                string uriBase   = AppSettingsHelper.GetValue("BINGUriBase");

                var uriQuery = uriBase + "?q=" + Uri.EscapeDataString(query);

                WebRequest rq = HttpWebRequest.Create(uriQuery);
                rq.Headers["Ocp-Apim-Subscription-Key"] = accessKey;
                HttpWebResponse rp = (HttpWebResponse)rq.GetResponseAsync().Result;

                string json           = new StreamReader(rp.GetResponseStream()).ReadToEnd();
                string uniqueProperty = "totalEstimatedMatches";
                int    index          = json.IndexOf(uniqueProperty) + uniqueProperty.Length + 3;
                int    endIndex       = json.IndexOf(",", index);
                string value          = json.Substring(index, endIndex - index);

                if (value != null)
                {
                    r.SearchEngine      = "BING";
                    r.Query             = query;
                    r.TotalResult       = Convert.ToInt64(value);
                    r.FormatTotalResult = String.Format("{0:0,0}", r.TotalResult);
                    r.Time = 0;
                }
            }
            catch (Exception e)
            {
                r.SearchEngine = "BING";
                r.Query        = query + e.Message;
                r.TotalResult  = 0;
                r.Time         = 0;
            }
            return(r);
        }
Beispiel #4
0
        public SearchBE Search(string query)
        {
            SearchBE r = new SearchBE();

            try
            {
                string uriBase  = ConfigurationManager.AppSettings.Get("BINGUriBase");
                string uriQuery = uriBase + "?q=" + Uri.EscapeDataString(query);

                WebRequest request = WebRequest.Create(uriQuery);
                request.Headers["Ocp-Apim-Subscription-Key"] = ConfigurationManager.AppSettings.Get("BINGAPIKey");
                HttpWebResponse response   = (HttpWebResponse)request.GetResponseAsync().Result;
                string          jsonString = new StreamReader(response.GetResponseStream()).ReadToEnd();
                JObject         result     = JsonConvert.DeserializeObject <JObject>(jsonString);

                if (result != null)
                {
                    r.searchEngine = "BING";
                    r.query        = query;
                    r.resultCount  = long.Parse(result["webPages"]["totalEstimatedMatches"].ToString());
                }
                else
                {
                    r.searchEngine = "BING";
                    r.query        = query;
                    r.resultCount  = 0;
                }
            }
            catch (Exception e)
            {
                r.searchEngine = "BING";
                r.query        = query + e.Message;
                r.resultCount  = 0;
            }

            return(r);
        }