Я разрабатываю API, который позволяет внешним клиентам отправлять двоичный файл, который будет обрабатываться. my web.data() - это строка, а функция, которую я вызываю, требует двоичного кода. Как получить его в правильном формате? Может, у меня неправильные заголовки? как извлечь двоичные данные. Я использую web.py.Python Извлечение двоичного кода из запроса POST с использованием web.py
----------------- Запрос POST --------------------------- -------------------------
import json
import requests
files = {'file':('000038fe4b46c210c37bdde767835007', open('000038fe4b46c210c37bdde767835007', 'rb'))}
headers = {'content-type' : 'application/octet-stream', 'X-Auth-Token':'xxxf'}
r = requests.post('http://XXX:8080/v1/binaries', files = files, headers = header
------------------ ----- Функция API ------------------------------
def POST(self):
a = web.ctx.env.get("HTTP_X_AUTH_TOKEN", None)
creds = authenticator(a)
postdata = web.data().read()
analysis = atklite.FileAnalysis(data=postdata)
metadata = analysis.return_analysis()
------ ------------------Выслеживать------------------------------- -
File "/usr/lib/pymodules/python2.7/web/application.py", line 242, in process
return self.handle()
File "/usr/lib/pymodules/python2.7/web/application.py", line 233, in handle
return self._delegate(fn, self.fvars, args)
File "/usr/lib/pymodules/python2.7/web/application.py", line 415, in _delegate
return handle_class(cls)
File "/usr/lib/pymodules/python2.7/web/application.py", line 390, in handle_class
return tocall(*args)
File "/home/XXXXXX/ProcessingCode/bfsapi.py", line 75, in POST
postdata = web.data().read()
AttributeError: 'str' object has no attribute 'read'
Thanks
Извините, если форматирование все испортилось в сообщении.
web2py - это темная магия. –
Этот вопрос относится к [web.py] (http://webpy.org). [web2py] (http://www.web2py.com/examples/default/index) - это другой проект. – Bryan