Я выполнил почтовые запросы с multipart/form-data; boundary=a1c2469c-2a1f-48e6-8f1d-311f8650c855
multipart/form-data; boundary=a1c2469c-2a1f-48e6-8f1d-311f8650c855
И я получаю это
POST /api/feed/upload-resource HTTP/1.1
App-Id: 15762288
Version-Name: 3.26.0.451
User-Agent: Right-Android/3.26.0.451
Content-Type: multipart/form-data; boundary=a1c2469c-2a1f-48e6-8f1d-311f8650c855
Content-Length: 75412
Connection: Keep-Alive
Accept-Encoding: gzip
--a1c2469c-2a1f-48e6-8f1d-311f8650c855
Content-Disposition: form-data; name="h"
Content-Length: 4
1080
--a1c2469c-2a1f-48e6-8f1d-311f8650c855
Content-Disposition: form-data; name="w"
Content-Length: 4
1080
--a1c2469c-2a1f-48e6-8f1d-311f8650c855
Content-Disposition: form-data; name="image"; filename="/storage/emulated/0/Android/data/com.xiaoyu.rightone/tiny/tiny-738-2018-08-03-15-32-53.jpg"
Content-Type: text/plain
Content-Length: 74910
Если я хочу симулировать этот запрос, используя пакет запросов Python. Как я могу это сделать.
Я проверил документ, и я попытался использовать параметр файла, подобный этому
with open(path, 'rb') as f:
files = {
"h": "1495",
"w": "840",
"filename": ("image", f.read()),
}
r = requests.post(url, files=files)
Однако в моей ситуации я всегда получаю ошибку, такую как upload_resource_empty
.
Это должно работать:
import requests
files = {
'image': ('file_name.jpg', open('file.jpg', 'rb'), 'text/plain'),
'w': (None, '123'),
'h': (None, '222')
}
response = requests.post('url', files=files)
Кортежи в словаре имеют следующий формат: ('filename', fileobj, 'content_type', custom_headers)
w
иh
в почтовые данные, и решил. Спасибо за информацию.