Я делаю простой запрос POST с помощью модуля запросов, и его испытания httpbinМодуль запросов и кодирования Python?
import requests
url = 'http://httpbin.org/post'
params = {'apikey':'666666'}
sample = {'sample': open('test.bin', 'r')}
response = requests.post(url, files=sample, params=params, verify=False)
report_info = response.json()
print report_info
я проблема с кодировкой. Он не использует application/octet-stream
, поэтому кодировка неверна. Из заголовков, я вижу:
{
u'origin': u'xxxx, xxxxxx',
u'files': {
u'sample': u'data:None;base64,qANQR1DBw..........
Таким образом, я получаю data:None
вместо data:application/octet-stream
когда я пытаюсь с curl
. Неверный размер и кодировка.
Как я могу заставить или проверить, что он использует application/octet-stream
?
Спасибо @thefourtheye за предложение, и, хотя это действительно добавляет правильный текст в заголовок, это Безразлично Не меняйте кодировку. Файл по-прежнему неправильно кодируется. Это похоже на то, что запросы python не распознают тип файла правильно и поэтому он не кодирует правильно и не добавляет «application/octet-stream» правильно. – user2927191
Использование запросов python: ''Content-Type': 'multipart/form-data; граница = 9e13cb8a968a49c2b7c8781e701d2c13''. Использование curl: 'Content-Type": "multipart/form-data; граница = ------------------------ d0f3782a702ecbd9'. Почему это другое? – user2927191
Пограничная строка псевдослучайна; если вы согласны с тем же HTTP-запросом, это не проблема. – TML