Ejemplo n.º 1
0
        public static string GetStringValue(this HttpConnector.UserAgent userAgent)
        {
            if (userAgent == HttpConnector.UserAgent.Random)
            {
                userAgent = HttpConnector.GetRandomUserAgent();
            }
            switch (userAgent)
            {
            case HttpConnector.UserAgent.Mozilla:
                return("Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2");

            case HttpConnector.UserAgent.Chrome:
                return("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36");

            case HttpConnector.UserAgent.Egde:
                return("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36 Edge/15.15063");

            default:
                throw new NotImplementedException();
            }
        }
Ejemplo n.º 2
0
        public async Task SendQueryAsync()
        {
            HttpConnector httpConnector = new HttpConnector();

            HttpConnector.UserAgent userAgent = HttpConnector.GetRandomUserAgent();
            DateTime date = GetRandomDateTime();
            Uri      uri  = new Uri("https://www.intercity.pl");

            Tuple <string, string> phpSessId = await httpConnector.GetResponseAsync(searchConnection.GetUri(), "", null, "", HttpConnector.HttpMethod.Get, userAgent);

            Console.Write("ICCFaker - Initialization done\n");

            Tuple <string, string> startStationIdresponse = await GetStationId(StartStation, phpSessId.Item2, uri, httpConnector, userAgent);

            string startStationId   = JsonSelector.GetFirstValueOfToken("h", startStationIdresponse.Item1);
            string startStationName = JsonSelector.GetFirstValueOfToken("n", startStationIdresponse.Item1).Replace(' ', '+');

            Console.Write("ICCFaker - Asked for station " + startStationName + "\n");
            Tuple <string, string> alertresult1 = await GetStationAlert(startStationId, date, startStationIdresponse.Item2, uri, httpConnector, userAgent);

            Console.Write("ICCFaker - Alerted station " + startStationName + "\n");

            Tuple <string, string> endStationIdresponse = await GetStationId(EndStarion, phpSessId.Item2, uri, httpConnector, userAgent);

            string endStationId   = JsonSelector.GetFirstValueOfToken("h", endStationIdresponse.Item1);
            string endStationName = JsonSelector.GetFirstValueOfToken("n", endStationIdresponse.Item1).Replace(' ', '+');

            Console.Write("ICCFaker - Asked for station " + endStationName + "\n");
            Tuple <string, string> alertresult2 = await GetStationAlert(endStationId, date, endStationIdresponse.Item2, uri, httpConnector, userAgent);

            Console.Write("ICCFaker - Alerted station " + endStationName + "\n");

            Tuple <string, string> searchResult = await GetSearchResult(startStationId, endStationId, startStationName, endStationName, date, endStationIdresponse.Item2, uri, httpConnector, userAgent);

            Console.Write("ICCFaker - Ended Search" + "\n");
        }
Ejemplo n.º 3
0
        private async Task <Tuple <string, string> > GetStationId(string startStation, string setCookies, Uri uri, HttpConnector httpConnector, HttpConnector.UserAgent userAgent)
        {
            CookieContainer cookies = new CookieContainer();

            if (!string.IsNullOrWhiteSpace(setCookies))
            {
                string phpSessionId = "PHPSESSID";
                cookies.Add(uri, new Cookie(phpSessionId, GetValueFromCookieString(phpSessionId, setCookies)));
            }
            cookies.Add(uri, new Cookie("eic_login", "0"));
            getStation.SetParameter("q", startStation, false);
            Tuple <string, string> response = await httpConnector.GetResponseAsync(
                getStation.GetUri(),
                getStation.GetAllParameters(),
                cookies,
                referer,
                HttpConnector.HttpMethod.Get,
                userAgent
                );

            return(response);
        }
Ejemplo n.º 4
0
        private async Task <Tuple <string, string> > GetSearchResult(string startStationId, string endStationId, string startStationName, string endStationName, DateTime date, string setCookies, Uri uri, HttpConnector httpConnector, HttpConnector.UserAgent userAgent)
        {
            CookieContainer cookies = new CookieContainer();

            if (!string.IsNullOrWhiteSpace(setCookies))
            {
                string phpSessionId = "PHPSESSID";
                cookies.Add(uri, new Cookie(phpSessionId, GetValueFromCookieString(phpSessionId, setCookies)));
            }
            cookies.Add(uri, new Cookie("eic_login", "0"));
            searchConnection.SetParameter("arr", "0", false);
            searchConnection.SetParameter("date", string.Format("{0:YYYY-MM-dd}", date), false);
            searchConnection.SetParameter("search", "1", false);
            searchConnection.SetParameter("stid[0]", startStationId, false);
            searchConnection.SetParameter("stid[1]", endStationId, false);
            searchConnection.SetParameter("stname[0]", startStationName, false);
            searchConnection.SetParameter("stname[1]", endStationName, false);
            searchConnection.SetParameter("time", string.Format("{0:HH:mm}", date), false);
            Tuple <string, string> response = await httpConnector.GetResponseAsync(
                searchConnection.GetUri(),
                searchConnection.GetAllParameters(),
                cookies,
                referer,
                HttpConnector.HttpMethod.Post,
                userAgent
                );

            return(response);
        }
Ejemplo n.º 5
0
        private async Task <Tuple <string, string> > GetStationAlert(string startStationId, DateTime date, string setCookies, Uri uri, HttpConnector httpConnector, HttpConnector.UserAgent userAgent)
        {
            CookieContainer cookies = new CookieContainer();

            if (!string.IsNullOrWhiteSpace(setCookies))
            {
                string phpSessionId = "PHPSESSID";
                cookies.Add(uri, new Cookie(phpSessionId, GetValueFromCookieString(phpSessionId, setCookies)));
            }
            cookies.Add(uri, new Cookie("eic_login", "0"));
            alertStations.SetParameter("date", string.Format("{0:YYYY-MM-dd+HH:mm}", date), false);
            alertStations.SetParameter("station[]", startStationId);
            Tuple <string, string> startStation = await httpConnector.GetResponseAsync(
                alertStations.GetUri(),
                alertStations.GetAllParameters(),
                cookies,
                referer,
                HttpConnector.HttpMethod.Get,
                userAgent
                );

            return(startStation);
        }