2011-10-06 16 views
16

Intento agregar datos de archivos binarios directamente al cuerpo de la solicitud de una llamada POST para que pueda simular una carga de archivos. Sin embargo, traté de establecer un punto de interrupción 'antes de la solicitud' y el uso de 'insertar archivo', pero parece que no puedo hacer que funcione. También traté de modificar CustomRules.js para inyectar el archivo, pero no pude averiguar cómo cargar datos binarios a través de JScript. ¿Hay una solución fácil aquí?Fiddler agrega datos de archivos binarios a POST

+0

¿Qué tipo de subida estás haciendo (por ejemplo, a qué servidor)? Diferentes servidores aceptan diferentes formatos. Su mejor opción es alterar una carga existente, pero es posible generar una carga correctamente formateada con Fiddler. – EricLaw

Respuesta

4

En el guión violinista: (en Fiddler: Reglas ... personalizar las reglas), encontrar la función OnBeforeRequest, y añadir una línea similar a:

if (oSession.uriContains("yourdomain")) 
{ 
    oSession.LoadRequestBodyFromFile("c:\\temp\\binarycontent.dat");  
} 
32

Estoy seguro de que esta es una nueva característica de la año desde que se respondió esta pregunta, pero pensé en agregarlo de todos modos:

Hay un enlace azul "[Subir archivo]" en Composer ahora en el lado derecho debajo del cuadro de texto URL. Esto creará una solicitud completa multipart/form-data. Si se utiliza este, usted notará en el cuerpo que ahora tiene algo que se parece a esto:

< @INCLUDE C: \ Algunos \ Path \ mi-imagen.jpg @>

En mi caso, solo quería PUBLICAR el archivo binario directamente sin basura de varias partes, así que simplemente puse < @INCLUDE ... @> magic en el cuerpo de la solicitud, y eso envía el archivo binario como el cuerpo.

11

Para enviar multipart/form-data, se ayudará con esta receta.

En el panel superior (encabezado Http), configure Content-Type como a continuación. Otros valores se resuelven automáticamente.

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

Y, ingrese el cuerpo de respuesta en el panel inferior de la siguiente manera.

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

Las normas de importación son,

  1. Content-Type debería tener dos más que palabras - señales de límites en el cuerpo.
  2. La última parte del cuerpo debe terminar con dos signos -.
1

desde la versión 2.0, el cuerpo de la solicitud tiene un enlace "Cargar archivo ..." que le permite publicar/cargar datos binarios.