internal String getToken(long assetID, int expectedPrice, String cookies, CurrencyType currency)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://m.roblox.com/Catalog/VerifyPurchase?assetid=" + assetID + "&type=" + ((currency == CurrencyType.ROBUX) ? "robux" : "tickets") + "&expectedPrice=" + expectedPrice);

            request.KeepAlive = true;
            request.Accept    = "text/html, */*; q=0.01";
            request.Headers.Add("X-Requested-With", @"XMLHttpRequest");
            request.UserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36";
            request.Referer   = "https://m.roblox.com/items/" + assetID;
            request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate, sdch");
            request.Headers.Set(HttpRequestHeader.AcceptLanguage, "en-US,en;q=0.8");
            request.Headers.Set(HttpRequestHeader.Cookie, cookies);
            HttpWebResponse response       = (HttpWebResponse)request.GetResponse();
            Stream          responseStream = RobloxUtils.decodeStream(response);

            using (BufferedStream receiveStream = new BufferedStream(responseStream))
            {
                using (StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8))
                {
                    return(RobloxUtils.parseToken(readStream.ReadToEnd()));
                }
            }
        }
예제 #2
0
        /// <summary>
        /// Gets an RVT for sending a message to the supplied receiverID
        /// </summary>
        /// <param name="receiverId">ID of the receiver</param>
        /// <param name="cookies">Authentication cookie string</param>
        /// <returns>Functional RVT</returns>
        public String getRequestVerificationToken(int receiverID, String cookies)
        {
            String response = RobloxUtils.readPage("http://m.roblox.com/messages/sendmessage?Id=" + receiverID, cookies);

            return(RobloxUtils.parseToken(response));
        }