AzureTicker.Worker.BL.BillProvider.BuildTokenPostFromInitialSiteRequest C# (CSharp) Метод

BuildTokenPostFromInitialSiteRequest() приватный статический Метод

private static BuildTokenPostFromInitialSiteRequest ( string HTML, string userName, string password, string &postUrl ) : string
HTML string
userName string
password string
postUrl string
Результат string
        private static string BuildTokenPostFromInitialSiteRequest(string HTML, string userName, string password, out string postUrl)
        {
            ////Get the PPSX value
            string PPSX = "PassportR";

            //Get this random PPFT value
            string PPFT = HTML.Remove(0, HTML.IndexOf("PPFT"));
            PPFT = PPFT.Remove(0, PPFT.IndexOf("value") + 7);
            PPFT = PPFT.Substring(0, PPFT.IndexOf("\""));

            string scriptBody = null;
            var scriptMatch = Regex.Match(HTML, "<script type=\"text/javascript\">var ServerData = {(.)*};</script>");
            if (scriptMatch.Success)
            {
                scriptBody = scriptMatch.Value;
            }

            int firstBracket = scriptBody.IndexOf('{');
            int lastBracket = scriptBody.LastIndexOf('}');
            scriptBody = scriptBody.Substring(firstBracket, lastBracket - firstBracket + 1);

            var jsonSerializer = new Newtonsoft.Json.JsonSerializer();
            dynamic serverData = jsonSerializer.Deserialize(new Newtonsoft.Json.JsonTextReader(new StringReader(scriptBody)));

            postUrl = serverData.urlPost;

            string requestToken = string.Format("login={0}&passwd={1}&PPSX={2}&LoginOptions=2&PPFT={3}", userName, password, PPSX, PPFT);
            return requestToken;
        }