Загрузите или просмотрите файлы, отправленные как сетевой прокси-инструмент с несколькими запросами (PNG, PDF)?

Как загрузить или просмотреть файлы, отправленные как запрос из нескольких частей (например, PUT) через программный инструмент?

Есть ли способ сделать это с помощью специального инструмента, такого как CharlesProxy на MacOSX, для загрузки и просмотра файлов, которые были отправлены как часть запроса (PUT multipart request). Обычно я проверяю такие проблемы, сохраняя файл в песочнице с помощью изменений кода. В идеале нужно что-то, что может быть использовано нашим QA и не требует никакой модификации кода.

Чарльз-прокси на macos достаточно для большинства нужд разработчиков / разработчиков, таких как: - Дроссельная сеть - Отладка устройства - Загрузка данных ответа - ...

Нет опции для просмотра или загрузки файлов ответов в Charles Proxy 4.x: Скриншот Charles Proxy 4.x Запрос сохранения / просмотра

Charles Proxy 4.x (и более ранние версии) позволяет сохранять файлы ответов get, например, pdf на этом снимке экрана: Скриншот Charles Proxy 4.x Сохранить / Копировать Ответ

0 ответов

Это можно сделать, отредактировав двоичный файл вручную. Это немного сложно, но можно сохранить файл в виде составного HTTP-запроса без каких-либо изменений в коде проекта.

Вот шаги (проверено на Charles v4.2.8 и macOS v10.12.6):

  1. Сохранить запрос. Щелкните правой кнопкой мыши записанный HTTP-запрос (тот, который отправляет файл) и нажмите "Сохранить запрос...". Это сохранит весь HTTP-запрос в двоичном формате.

  2. Проверьте шестнадцатеричное представление запроса. Щелкните левой кнопкой мыши записанный HTTP-запрос и выберите вкладку "Hex" на панели "Request". Это покажет двоичное представление запроса вместе с некоторым проанализированным текстом.

  3. Отредактируйте сохраненный запрос. Откройте сохраненный запрос (шаг 1) с помощью редактора, поддерживающего двоичный файл, например Sublime Text. Затем удалите весь двоичный код, не являющийся изображением, в соответствии с результатом шага 2. В частности, удалите все байты перед (и включите) первую пустую строку (0d0a0d0a в macOS и Windows, 0a0aв Linux) и удалите хвостовые байты. Например, на следующем снимке экрана показаны байты запроса шага 2, выбранные байты будут удалены (обратите внимание на0d0aбайтов, поскольку этот эксперимент проводится на Mac): ...

  4. Сохраните файл изображения. Сохраните файл после завершения шага 3. Затем добавьте расширение имени файла в соответствии сContent-Type значение на шаге 2. В этом эксперименте Content-Type является image/png, так .png добавляется к имени файла.

Вот и все. Теперь вы можете открыть файл xxx.png. Это чистый файл изображения.

Примечание: этот эксперимент содержит только 1 файл, но стратегия работает, когда в запросе есть загрузка нескольких файлов.

Другие вопросы по тегам