Ejemplo n.º 1
0
        private static string GenerateData(INetworkRequest request)
        {
            var dict     = new Dictionary <string, Dictionary <string, string> >();
            var metaDict = new Dictionary <string, string>
            {
                ["z5hB3P01"] = request.GetRequestId(),
                ["ytHoz4E2"] = "0"
            };

            dict["TEAYk6R1"] = metaDict;
            var body      = request.CreateBody();
            var encrypted = Encryption.EncryptBase64String(body, request.GetEncodeKey());
            var bodyDict  = new Dictionary <string, string> {
                ["qrVcDe48"] = encrypted
            };

            dict["t7n6cVWf"] = bodyDict;
            return(JsonConvert.SerializeObject(dict, Formatting.None));
        }
Ejemplo n.º 2
0
        public static void SendRequestGlobal(INetworkRequest request)
        {
            try
            {
                Console.WriteLine("Starting request for {1}:{0}.", request.GetRequestId(), request.GetType().Name);
                var webRequest =
                    (HttpWebRequest)
                    WebRequest.Create(
                        $"https://lapisv200.gumi.sg/lapisProd/app/php/gme/actionSymbol/{request.GetUrl()}.php");
                webRequest.Headers.Clear();
                webRequest.Method                 = "POST";
                webRequest.Timeout                = 30000;
                webRequest.ContentType            = "application/x-www-form-urlencoded";
                webRequest.Accept                 = "*/*";
                webRequest.UserAgent              = "android";
                webRequest.AutomaticDecompression = DecompressionMethods.GZip;
                webRequest.Headers[HttpRequestHeader.AcceptEncoding] = "gzip";
                webRequest.Headers[HttpRequestHeader.AcceptLanguage] = "en";

                var data = Encoding.UTF8.GetBytes(GenerateData(request));
                Console.WriteLine("Sending Global POST for {1}:{0}.", request.GetRequestId(), request.GetType().Name);
                using (var stream = webRequest.GetRequestStream())
                {
                    stream.Write(data, 0, data.Length);
                    stream.Close();
                }
                Console.WriteLine("Getting response.");
                var responseStream = webRequest.GetResponse();
                var responseStr    = "";
                using (var stream = responseStream.GetResponseStream())
                {
                    using (var reader = new StreamReader(stream, Encoding.UTF8))
                    {
                        responseStr = reader.ReadToEnd();
                    }
                }
                dynamic responseJson = JsonConvert.DeserializeObject(responseStr);
                request.HandleResponse(
                    JsonConvert.DeserializeObject <Dictionary <string, dynamic> >(Encryption.DecryptBase64String(
                                                                                      (string)responseJson.t7n6cVWf.qrVcDe48, request.GetEncodeKey())));
            }
            catch (WebException ex)
            {
                Console.WriteLine(ex);
            }
        }