Roblox 从目录中购买商品
Posted
技术标签:
【中文标题】Roblox 从目录中购买商品【英文标题】:Roblox Purchasing an item from catalog 【发布时间】:2021-09-19 22:32:01 【问题描述】:我编写了一个脚本,应该从目录中购买资产。
import re
from requests import post, get
cookie = "blablabla"
ID = 1562150
# getting x-csrf-token
token = post("https://auth.roblox.com/v2/logout", cookies=".ROBLOSECURITY": cookie).headers['X-CSRF-TOKEN']
print(token)
# getting item details
detail_res = get(f"https://www.roblox.com/library/ID")
text = detail_res.text
productId = int(get(f"https://api.roblox.com/marketplace/productinfo?assetId=ID").json()["ProductId"])
expectedPrice = int(re.search("data-expected-price=\"(\d+)\"", text).group(1))
expectedSellerId = int(re.search("data-expected-seller-id=\"(\d+)\"", text).group(1))
headers =
"x-csrf-token": token,
"content-type": "application/json; charset=UTF-8"
data =
"expectedCurrency": 1,
"expectedPrice": expectedPrice,
"expectedSellerId": expectedSellerId
buyres = post(f"https://economy.roblox.com/v1/purchases/products/productId", headers=headers,
data=data,
cookies=".ROBLOSECURITY": cookie)
if buyres.status_code == 200:
print("Successfully bought item")
问题在于它不购买任何带有错误 500 (InternalServerError) 的项目。 有人告诉我,如果我将 json.dumps() 添加到脚本中,它可能会起作用。 如何在此处添加 json.dumps() (虽然我阅读了文档但我不明白)以及如何解决这个问题以便脚本购买项目? 非常感谢任何可以帮助我的人。
【问题讨论】:
【参考方案1】:导入json包。
json.dumps() 将 python 字典转换为 json 字符串。
我猜这就是你想要的。
buyres =
post(f"https://economy.roblox.com/v1/purchases/products/productId",
headers=json.dumps(headers),
data=json.dumps(data),
cookies=".ROBLOSECURITY": cookie)
【讨论】:
buyres = post(f"https://economy.roblox.com/v1/purchases/products/productId", headers=json.dumps(headers), data=json.dumps(data), cookies=".ROBLOSECURITY": cookie)
这个不行,我之前试过,出现这个错误:AttributeError: 'str' object has no attribute 'items'
没关系,你不想要 json.dumps() 然后... requests.post() 需要一个字典。这个话题对你有帮助吗? ***.com/questions/56683240/…【参考方案2】:
我终于找到了答案,我不得不这样做:
dataLoad = json.dumps(data)
buyres = post(f"https://economy.roblox.com/v1/purchases/products/productId", headers=headers,
data=dataLoad,
cookies=".ROBLOSECURITY": cookie)
【讨论】:
以上是关于Roblox 从目录中购买商品的主要内容,如果未能解决你的问题,请参考以下文章
当我购买 DevProduct (Roblox LUA) 时,我怎样才能让事情发生?