From 17d465fc872e469bc5bb0ff83f697d63ab172661 Mon Sep 17 00:00:00 2001 From: Markus Birth Date: Fri, 12 Jan 2018 02:36:34 +0100 Subject: [PATCH] Build checksum-payload with proper JSON. --- tcllib.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tcllib.py b/tcllib.py index 362f380..f503a00 100644 --- a/tcllib.py +++ b/tcllib.py @@ -402,13 +402,17 @@ class FotaCheck: def do_checksum(self, encslave, address, uri): url = "http://" + encslave + "/checksum.php" params = self.get_creds2() - params[b"address"] = bytes('{"' + address + '":"' + uri + '"}', "utf-8") + + payload = {address: uri} + payload_json = json.dumps(payload) + params[b"address"] = bytes(payload_json, "utf-8") #print(repr(dict(params))) req = self.sess.post(url, data=params) if req.status_code == 200: req.encoding = "utf-8" # Force encoding as server doesn't give one self.write_dump(req.text) + # 2abfa6f6507044fec995efede5d818e62a0b19b5 means ERROR (invalid ADDRESS!) return req.text else: print("CHECKSUM: " + repr(req))