mid-kid
4 weeks ago
1 changed files with 33 additions and 0 deletions
@ -0,0 +1,33 @@ |
|||
#!/usr/bin/env python3 |
|||
from urllib.request import Request, urlopen |
|||
from base64 import b64decode |
|||
from os import makedirs |
|||
import json |
|||
|
|||
def jsonurlread(url, data=None): |
|||
return json.loads(urlopen(Request(url, |
|||
data=json.dumps(data).encode() if data is not None else None, |
|||
headers={"Content-Type": "application/json"})).read().decode()) |
|||
|
|||
def dlskin(user): |
|||
data = jsonurlread("https://api.mojang.com/profiles/minecraft", [user]) |
|||
uuid = data[0]["id"] |
|||
|
|||
data = jsonurlread("https://sessionserver.mojang.com/session/minecraft/profile/%s" % uuid) |
|||
textures = None |
|||
for x in data["properties"]: |
|||
if x["name"] == "textures": |
|||
textures = json.loads(b64decode(x["value"].encode()))["textures"] |
|||
|
|||
if "SKIN" in textures: |
|||
skin = urlopen(textures["SKIN"]["url"]).read() |
|||
makedirs("skin") |
|||
open("skin/%s.png" % user, "wb").write(skin) |
|||
if "CAPE" in textures: |
|||
skin = urlopen(textures["CAPE"]["url"]).read() |
|||
makedirs("cape") |
|||
open("cape/%s.png" % user, "wb").write(cape) |
|||
|
|||
if __name__ == "__main__": |
|||
from sys import argv |
|||
dlskin(argv[1]) |
Loading…
Reference in new issue