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())); } } }
/// <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)); }