Python проблема с Roblox при покупке ограниченных предметов - PullRequest
0 голосов
/ 14 марта 2020

Итак, в roblox я пытаюсь отправить запрос на их API. Вот код:

def buyItem(self,itemid, cookie, price=None):
        info = self.getItemInfo(itemid)
        url="https://economy.roblox.com/v1/purchases/products/{}".format(info["ProductId"])
        print(url)
        cookies = {
            '.ROBLOSECURITY': cookie
        }
        headers = {
            'X-CSRF-TOKEN': self.setXsrfToken(cookie)
        }
        data={
            'expectedCurrency': 1, 'expectedPrice': info["PriceInRobux"] if price == None else price, 'expectedSellerId': info["Creator"]["Id"]
            }
        r = self.s.post(url, data=data, cookies=cookies, headers=headers)
        return r
def getItemInfo(self,itemid):
        return self.s.get("https://api.roblox.com/marketplace/productinfo?assetId="+str(itemid)).json()
def setXsrfToken(self, cookie):
        cookies = {
            '.ROBLOSECURITY': cookie
        }
        r = self.s.get("https://roblox.com/home", cookies=cookies)
        tok = r.text[r.text.find("Roblox.XsrfToken.setToken('") + 27::]
        tok = tok[:tok.find("');"):]
        return tok

Когда я попытался запустить функцию buyItem на рубашке 5 robux, он купил ее без проблем. Но потом я попытался купить ограниченное, и оно не купило бы его. Также да, было достаточно robux. Помощь приветствуется! Спасибо!

1 Ответ

1 голос
/ 22 марта 2020

Я искал его на github и нашел что-то похожее. Я думаю, что это поможет вам. Извините за длинный ответ) Я думаю, что необходимы дополнительные параметры, см. Строку 370.

post("https://web.roblox.com/api/item.ashx?rqtype=purchase&productID={}
    &expectedCurrency=1
    &expectedPrice={}
    &expectedSellerID={}
    &userAssetID={}".format(
      self.getItemInfo(
         aid['ProductId'],
         seller['Price'],
         seller['SellerId'],
         seller['UserAssetId']),
    headers = {"X-CSRF-TOKEN":self.token})

https://github.com/judge2020/LimitedSniper/blob/master/roblopy.py

...