аватар question@mail.ru · 01.01.1970 03:00

python загрузка файлов vk

Подключил VK API. Необходимо сделать отправку файлов на сервер как о этом рассказано на этой странице - P.S. Загрузка файлов на стену пользователя

import vkfrom time import sleepimport sysimport urllib.requestimport urllib.parseimport base64import requestsvkapi = vk.API(access_token='token', app_id='id')sleep(0.5)data = vkapi.photos.getWallUploadServer(user_id=""72374405"")DATA_USER_ID = data['user_id']DATA_ALBUM_ID = data['album_id']DATA_UPLOAD_URL = data['upload_url']#with open(""1.jpg"", ""rb"") as image_file:    #fileD = base64.b64encode(image_file.read())#files = {'1.jpg': open('1.jpg', 'rb')}#r = requests.post(DATA_UPLOAD_URL, files=files)#r.status_code == requests.codes.ok#print(r)#html = r.read().decode(""utf-8"")#dataP = '1.jpg'dataP = ""photo="" + dataP#.encode(""ASCII"")response = urllib.request.urlopen(DATA_UPLOAD_URL,dataP)html = response.read().decode(""utf-8"")print (html)

решеткой помечено то, что пробовал но не сработало, либо не подошло.

Вроде как корректно отработался вариант с

files = {'1.jpg': open('1.jpg', 'rb')}r = requests.post(DATA_UPLOAD_URL, files=files)r.status_code == requests.codes.okprint(r)#html = r.read().decode(""utf-8"")

Однако в таком случае не работает вывод и тем самым я не могу понять, отработался ли должным образом запрос.

В случае успешного завершения кода выхлоп таков:

{""server"":622624,""photo"":""[]"",""hash"":""8112ae8847b27fb1cdf678d3d168e6ae""}

То есть загрузка изображения провальная.

Может кто-либо смог или и так знает как загрузить файл на сервер ВК через POST на Python3. Поделитесь опытом, советом, замечанием. Если что-то в коде непонятно - пишите; отвечу.

Последние

Похожие