def get(image_file, domain, title, singer, album):
    import ast
    import base64
    import json
    import os
    from html import unescape

    import requests

    api = f"http://{domain}:7873/bGVhdmVfcmlnaHRfbm93"

    with open(image_file, "rb") as f:
        im_bytes = f.read()
        f.close()
    im_b64 = base64.b64encode(im_bytes).decode("utf8")

    headers = {"Content-type": "application/json", "Accept": "text/plain"}

    status = try_get_cached(domain, {"title": title, "singer": singer, "album": album})
    status = ast.literal_eval(str(status))

    if status is None:
        print("Cached version not found. Uploading image with song metadata.")
        payload = json.dumps(
            {"image": im_b64, "title": title, "singer": singer, "album": album}
        )
        response = requests.post(api, data=payload, headers=headers)

        data = unescape(response.text)
        print(data)

        data = ast.literal_eval(data)["entry"]
        print(data)

    else:
        data = status

    # data = [{"title": title, "singer": singer, "album": album}, file_name, file_ending]

    cmd = "del " + image_file
    os.system(cmd)

    return data
The software constructs all or part of an OS command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command when it is sent to a downstream component.