Fiddler добавляет данные двоичного файла в POST - PullRequest
17 голосов
/ 06 октября 2011

Я пытаюсь добавить двоичные данные файла непосредственно в тело запроса POST-вызова, чтобы я мог имитировать загрузку файла. Тем не менее, я попытался установить точку останова «до запроса» и использовать «вставить файл», но я не мог заставить это работать. Я также попытался изменить CustomRules.js для добавления файла, но не смог понять, как загрузить двоичные данные через JScript. Здесь есть простое решение?

Ответы [ 4 ]

37 голосов
/ 07 сентября 2012

Я уверен, что это новая функция в году, так как на этот вопрос был дан ответ, но я решил добавить его так или иначе:

В Composer теперь есть синяя ссылка "[Загрузить файл]"правая сторона под текстовым полем URL.Это создаст полный запрос multipart / form-data.Если вы воспользуетесь этим, вы заметите, что в теле теперь есть что-то похожее на это:

<@ INCLUDE <em>C: \ Some \ Path \ my-image.jpg @>

В моем случае я просто хотел POST-файл двоичного файла напрямую, без многокомпонентного мусора, поэтому я просто поместил магию <@INCLUDE ... @> в тело запроса, и он отправил двоичный файл кактело.

12 голосов
/ 06 декабря 2015

Чтобы отправить multipart / form-data , этот рецепт поможет.

В верхней панели (заголовок Http) установите Content-Type, как показано ниже.Другие значения автоматически разрешаются.

Content-Type: multipart/form-data; boundary=-------------------------acebdf13572468

И введите тело ответа на приведенной ниже панели следующим образом.

---------------------------acebdf13572468
Content-Disposition: form-data; name="description" 

the_text_is_here
---------------------------acebdf13572468
Content-Disposition: form-data; name="file"; filename="123.jpg"
Content-Type: image/jpg

<@INCLUDE *C:\Users\Me\Pictures\95111c18-e969-440c-81bf-2579f29b3564.jpg*@>
---------------------------acebdf13572468--

Правила импорта:

  1. Content-Type должно иметь еще два знака -, чем граничные слова в теле.
  2. Последний элемент тела должен заканчиваться двумя - знаками.
5 голосов
/ 23 октября 2011

В скрипте Fiddler: (в Fiddler: Rules ... Customize Rules) найдите функцию OnBeforeRequest и добавьте строку, похожую на:

if (oSession.uriContains("yourdomain"))
{
    oSession.LoadRequestBodyFromFile("c:\\temp\\binarycontent.dat");    
}
1 голос
/ 27 марта 2017

начиная с версии 2.0, тело запроса имеет ссылку «Загрузить файл ...», которая позволяет публиковать / загружать двоичные данные.

...