Отправка изображения на сервер requests

Необходимо отправить запрос на сервер с изображением.

Эти данные я получил с отладчика бразуера:
Request Headers:

Host: findclone.ru
Connection: keep-alive
Content-Length: 110679
user-id: 79270071861
Accept: application/json
Cache-Control: no-cache
X-Requested-With: XMLHttpRequest
session-key: 3sqfceiwol7smustpbvhp4fne3mzyjf35lz2qliui2v6urix47vo246ek5yqshhb
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarymE1qoy2fzhFuRnkG
Origin: https://findclone.ru
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: https://findclone.ru/searchclone
Accept-Encoding: gzip, deflate, br
Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7
Cookie: _ym_d=1586797352; _ym_uid=1586797352672066265; _ym_isad=2; period=20%20%D0%B4%D0%BD%D0%B5%D0%B9; quantity=42%20%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0; _ym_visorc_53111767=w; session-key=3sqfceiwol7smustpbvhp4fne3mzyjf35lz2qliui2v6urix47vo246ek5yqshhb; user-id=79270071861

Form Data:

------WebKitFormBoundarymE1qoy2fzhFuRnkG
Content-Disposition: form-data; name="uploaded_photo"; filename="Screenshot_9.png"
Content-Type: image/png


------WebKitFormBoundarymE1qoy2fzhFuRnkG-- 

Вот мой код:

import requests


class FindCloneAPI():
    session = requests.Session()
    session_key = ''
    user_id = ''

    def login(self, phone, pwd):
        url = 'https://findclone.ru/login'
        data = {'phone': phone, 'password': pwd}
        req = self.session.post(url, data=data).json()
        self.session_key = req['session_key']
        self.user_id = req['userid']
        print(self.session.cookies)


    def upload(self, path_to_image):
        url = 'https://findclone.ru/upload2'
        files = {'photo': open(path_to_image, 'rb')}
        headers = {
            'user-id': str(self.user_id),
            'session-key': self.session_key,
        }
        req = self.session.post(url, files=files, headers=headers)
        print(req.text)
        print(req.status_code)


FAPI = FindCloneAPI()
FAPI.login('ТУТ ЛОГИН', 'ТУТ ПАРОЛЬ')
print(FAPI.user_id)
print(FAPI.session_key)
FAPI.upload('img.png')

Вот что я получаю на выходе:

79270071861
kk3w5u7rl27oaraddxt3xaivlbbwtuq546la6e3yqup7hdqcay3ntmgar24qtajf
{"Error":"Upload_photo"}

406

Process finished with exit code 0

Ответы (1 шт):

Автор решения: user348484

Решение было простым.

files = {'uploaded_photo': ("test.png", open('img.png', 'rb'), "image/png")}

скоро залью API на гитхаб. Если забуду прикрепить ссылку, пните @whomLZT

→ Ссылка