У меня есть сканер, который принимает файлы PDF, и я хочу интегрировать его со службой, которая генерирует текст OCR из этих файлов PDF.
Я могу заставить его работать с запросами, но не с treq. Все примеры взяты из Scrapy Shell.
Это работает, возвращает правильное OCR json:
response = requests.post(endpoint,files=[('file', (fname, open(fpath,'rb'), 'application/pdf'))], data={'extract_method': 'raw'})
Тестирование, этот более простой код работает с treq:
In [28]: response = treq.get(endpoint)
In [29]: response.result
Out[29]: <treq.response._Response 200 'text/html; charset=utf-8' 30 bytes>
In [30]: response.result.text()
Out[30]: <Deferred at 0x164a14d7b38 current result: '<h1>PDF-OCR-Service Online<h1>'>
Пока это не работает, возвращается None:
In [25]: response = treq.post(endpoint,files=[('file', (fname, open(fpath,'rb'), b'application/pdf'))], data={'extract_method': 'raw'})
In [26]: response.result
Out[26]: <treq.response._Response 200 'application/json' 5 bytes>
In [27]: response.result.json()
Out[27]: <Deferred at 0x164a1443048 current result: None>
Похоже, файл, отправленный с помощью treq, пуст.