import requests import base64 from lxml import etree import json import hashlib from io import StringIO # specify user id USER_ID = "w5YcMrssXv" # create base64 uri data = base64.b64encode(open("img.png", "rb").read()).decode("UTF-8") uri = "data:image/png;base64,"+data sha256 = hashlib.sha256(uri.encode("UTF-8")).hexdigest() uri += "|"+sha256 # create session s = requests.Session() data = s.get("https://drawme.share-on.me/"+USER_ID, headers={"User-Agent":"Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0"}).content # parse csrf token from html parser = etree.HTMLParser() tree = etree.parse(StringIO(data.decode("UTF-8")), parser) csrf = tree.xpath('//*[@id="csrf_token"]')[0].get("value") #print(csrf) # send the drawing print(s.post("https://drawme.share-on.me/drawing/senddrawing", json={ "drawing": uri, "user_id": USER_ID }, headers={ "X-CSRF-TOKEN": csrf, "User-Agent":"Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0", "Content-Type": "application/json", "Origin": "https://drawme.share-on.me", "Referer":"https://drawme.share-on.me/"+USER_ID, }).content)