Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Fiddler add binary file data to POST

I'm try to add binary file data directly to the request body of a POST call so I can simulate a file upload. However, I tried setting a 'before request' breakpoint and using 'insert file' but I couldn't seem to get that to work. I also tried to modify CustomRules.js to inject the file but couldn't figure out how to load binary data via JScript. Is there an easy solution here?

like image 676
Oliver Avatar asked Oct 06 '11 00:10

Oliver


2 Answers

I'm sure this is a new feature in the year since this question was answered, but thought I'd add it anyhow:

There's a blue "[Upload file]" link in Composer now on the right side under the URL textbox. This will create a full multipart/form-data request. If you use this, you'll notice in the body you now have something that looks like this:

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

In my case, I just wanted to POST the binary file directly with no multipart junk, so I just put the <@INCLUDE ... @> magic in the request body, and that sends the binary file as the body.

like image 168
ManicBlowfish Avatar answered Sep 19 '22 00:09

ManicBlowfish


In order to send multipart/form-data, this receipe will be helped.

In upper panel (Http header), set Content-Type as below. Other values are automatically resolved.

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

And, input Response Body at the below panel as follows.

---------------------------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--

The import rules are,

  1. Content-Type should have two more - signs than boundary words in body.
  2. The last of the body should be ended with two - signs.
like image 45
Youngjae Avatar answered Sep 22 '22 00:09

Youngjae