Arkhat
Или не может воспроизвести
Tishka17
Или не может воспроизвести
а все таки ссылка на файл хоть открывается?
Tishka17
https://dumpz.org/ak5M5n3dxnnc
к слову, можно while not files
Tishka17
https://dumpz.org/ak5M5n3dxnnc
вопрсо про санитизацию имени файла все ещё актуален
Tarrac
ну одну строку отдельно выносить бессмысленно
Nikita
Чекай права на файл звука
Зы, он мог и в урлах напутать и стучатся туда, куда "нинада"
Nikita
Ну чего ж... К примеру стучится на директорию выше, а туда даже посмотреть список файлов "денайн"
Tishka17
можно развернуть?
>>> url = "http://ya.ru/etc/passwd/..\0" >>> os.path.basename(urllib.parse.urlparse(url).path) '..\x00'
Tishka17
что-нибудь такое
Tishka17
какая у тебя ОС?
Tarrac
сейчас windows, но скрипт работать будет на сервере
Tishka17
если виндовз, то ещё веселее
Tishka17
но это конечно маловероятно встретить, да
Oleg
привет всем. кто что использует в качестве RichText для django, чтобы по красоте, с медиа-браузером? у меня файлы в S3Boto3Storage, пробовал django-tinymce + filebrowser, после обработки напильником заработало, но всплыла фундаментальная проблема, связанная с GET-параметрами ссылок на файлы (они вставляются в поле as is и через время протухают), поэтому нужна какая-то более плотная интеграция
Tishka17
а зачем тексты хранить в s3?
Tishka17
они настолько болшие?
Oleg
а зачем тексты хранить в s3?
да не тексты, а картинки там)
Tishka17
а
Oleg
картинки через filebrowser выбираются, tinymce вставляет их со всей хурмой типа X-Amz-Signature, и потом когда ключ протухает, картинка уже не доступна
Oleg
нужно какое-то решение типа как в wagtail - <embed id="123"/> (точно не помню, как там выглядит тег, но идея такая)
Oleg
надеюсь, кто-то сталкивался с этим и есть готовое решение)
Вячеслав
Всем привет, помогите решить задачу: Пытаюсь передать файл на севрвер по API через POST запрос Получаю ошибку UnicodeEncodeError: 'latin-1' codec can't encode characters in position 28-32: ordinal not in range(256) import requests import settings basicAuthCredentials = settings.basicAuthCredentials base_url = 'url' headers = { 'Content-Type': 'application/octet-stream', 'Content-Disposition': 'attachment;filename=filename' } file = open('/srv/bot/tmp/file', 'rb').read() response = requests.post(base_url, data=file, headers=headers, auth=basicAuthCredentials) print(response.status_code) print(response.text)
Вячеслав
Traceback (most recent call last): File "/srv/bot/tests/test_send_file.py", line 15, in <module> response = requests.post(base_url, data=file, headers=headers, auth=basicAuthCredentials) File "/usr/local/lib/python3.5/dist-packages/requests/api.py", line 116, in post return request('post', url, data=data, json=json, **kwargs) File "/usr/local/lib/python3.5/dist-packages/requests/api.py", line 60, in request return session.request(method=method, url=url, **kwargs) File "/usr/local/lib/python3.5/dist-packages/requests/sessions.py", line 533, in request resp = self.send(prep, **send_kwargs) File "/usr/local/lib/python3.5/dist-packages/requests/sessions.py", line 646, in send r = adapter.send(request, **kwargs) File "/usr/local/lib/python3.5/dist-packages/requests/adapters.py", line 449, in send timeout=timeout File "/home/exe90/.local/lib/python3.5/site-packages/urllib3/connectionpool.py", line 603, in urlopen chunked=chunked) File "/home/exe90/.local/lib/python3.5/site-packages/urllib3/connectionpool.py", line 355, in _make_request conn.request(method, url, **httplib_request_kw) File "/usr/lib/python3.5/http/client.py", line 1122, in request self._send_request(method, url, body, headers) File "/usr/lib/python3.5/http/client.py", line 1162, in _send_request self.putheader(hdr, value) File "/usr/lib/python3.5/http/client.py", line 1094, in putheader values[i] = one_value.encode('latin-1') UnicodeEncodeError: 'latin-1' codec can't encode characters in position 28-32: ordinal not in range(256)
Alex
вообще надо бы в правила включить форму подачи заявки на вопрос из рудача
Tishka17
смотри-ка не угадал
Tishka17
наверно ты его хочешь как файл отправить же
Вячеслав
а как правильно?
Alex
ну он его как octet/stream передает. это конечно странно, но допустимо.
Alex
а как правильно?
а эт зависит от сервера
Vlad
Коллеги, а кто нибуть разносил базу mysql между цодами? мастер весит 20Тб..
Yurii
Проблема в headers
Yurii
Скорее всего
Вячеслав
ну суть вот в чем, если я отправляю файл лога .log или .txt мелкий, то все работает
Вячеслав
Беру файл побольше .docx
Вячеслав
сваливается в ошибку
Alex
ты ведь понимаешь что ошибка вообще нихера не связана с размером файла?
Alex
наверное нет
Alex
что в headers?
Вячеслав
ну вот же headers = { 'Content-Type': 'application/octet-stream', 'Content-Disposition': 'attachment;filename=filename' }
Alex
хм
Вячеслав
одни файлы проходят, другие нет
Alex
так-с глупый вопрос, python 2 или 3?
Вячеслав
3
Alex
вижу
Alex
3.5
Tishka17
а как правильно?
https://2.python-requests.org/en/master/user/quickstart/#post-a-multipart-encoded-file
Tishka17
окей
Alexander
data='json=1&task=post&board=test&thread=80980710&comment=тест'.encode('utf-8')
Tishka17
меня смутило начличие Conent-Disposition
Alexander
?
!
Alexander
encode
Tishka17
0_о
Tishka17
что энкод?
Alexander
Please do not attempt to send body data in unicode strings. You need to encode that before you send it
Tishka17
и к чему это?
Alexander
и к чему это?
к последней сроке трейсбека
Tishka17
ты вообще его код видел?
Alex
ээээ
Alex
ничего что он читает байты из файла?
Tishka17
зачем? ))))
тогда ответь, как ты собираешься сдеать encode на вордовском файле открытом в бинарном режиме?
Tishka17
что непонятного в словах "вордовский файл"?
Tishka17
попробуй байтовую строку в хэдер
Tishka17
падает же где-то в self.putheader(hdr, value)
Вячеслав
файл кириллица
Alex
блядь