SPNick
|
||||||
1 | ||||||
Request.Response ошибка 400 bad request16.01.2019, 10:50. Просмотров 858. Ответов 11
Метки нет Все метки)
(
Добрый день!
Прошу помочь с обработкой запросов в Python 2.7.11 Принимать реквест и сохранить на сервере файл из него уже получилось, а отправить клиенту респонс пока никак. В респонсе должен находиться файл PDF. Фидлер показывает что респонс проходит со статусом 200 ОК, но 1С (клиент) не может его обработать - коллеги говорят выбрасывает ошибку 400, видимо респонс имеет неподходящий формат. Может кто выполнял аналогичные задачи?
0
|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
|
16.01.2019, 10:50 |
Ответы с готовыми решениями:
11
Flask request.get_json() Ajax post request error Request на Python через Selenium CSRF verification failed. Request aborted Модуль request не соединяется через HTTPS прокси |
SPNick
|
|
16.01.2019, 14:34 [ТС] | 3 |
![]() Решение
Рыжий Лис, попросил посмотреть, ничего не нашли. На сервере Python в логах IIS тоже ничего интересного.
Если у меня в Фидлере в ответе нет "boundary" - это нормально? В запросе он просто есть. Структуры запроса и ответа различаются, не ясно как должно быть (впервые с вебсервисом сталкиваюсь, еще и на python). В дебаге видно, что содержание файла пишется в поле "data". Начали думать на все подряд - от различий кодировки 1С и Fiddler, до блокировки вложения реквеста прокси-сервером
0
|
Рыжий Лис
Просто Лис
|
|
16.01.2019, 14:52 | 4 |
Нормально, конечно.
Веб-сервис работает по HTTP (не HTPPS)? Если да, то советую поставить wireshank, впрочем и других инструментов для отладки сетевых протоколов полно. Есть рабочий пример веб-сервиса? Остаётся только одно: брать ваш веб-сервис и рабочий и сравнивать всё, начиная с заголовков ответа.
0
|
SPNick
|
||||||
16.01.2019, 15:47 [ТС] | 5 | |||||
Рыжий Лис, рабочего нет, увы. Работает по HTTP.
Сейчас понял в чем дело. Я писал код по реквесту, который приходил из Фидлера (не знаю как так получилось). А из 1С приходит сообщение, которое отличается от Фидлеровского. Тут ничего нет в flask.request.files, data тоже пусто. Вот и рушилось все при попытке вычислить
0
|
Рыжий Лис
Просто Лис
|
||||||
16.01.2019, 15:52 | 6 | |||||
А говорил, что в логах всё хорошо
![]() Да сниффером уже тыкни во входящий http-запрос к серверу — быстрее найдёшь данные. Они, кстати, скорей всего тупо лежат в теле POST-запроса бинарником. Добавлено через 1 минуту
0
|
Рыжий Лис
Просто Лис
|
|||||||||||
16.01.2019, 15:57 | 8 | ||||||||||
Да любым. Впрочем, моя догадка верна: бинарник тупо лежит в теле post-запроса. Попробуй два моих варианта выше. Добавлено через 2 минуты И третий вариант ![]()
1
|
SPNick
|
||||||
17.01.2019, 15:27 [ТС] | 11 | |||||
Неизвестно почему, но начало работать. Думаю подкрутили на стороне 1С но никто не признается.
В request.files появилось вложение, успешно получаю и сохраняю его на сервере. Рыжий Лис, спасибо за помощь.
0
|
Volexovich
199 / 175 / 29
Регистрация: 24.10.2011
Сообщений: 698
|
|
18.01.2019, 11:42 | 12 |
Тупо сервер перезапустили, обнова накатилась и сервисы заработали как надо.
0
|
18.01.2019, 11:42 | |
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
|
18.01.2019, 11:42 |
не получается медот urllib.request Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |