Lo que el encabezado de HTTP a utilizar para la configuración de nombres de campo de formulario (multipart/form-data)

StackOverflow https://stackoverflow.com/questions/101662

  •  01-07-2019
  •  | 
  •  

Pregunta

Estoy pasando raw peticiones HTTP a un servidor apache (recibido por PHP).La petición es de tipo multipart/form-data, es decir,el mismo tipo de MIME se utiliza cuando la presentación de los formularios HTML.Sin embargo, no estoy seguro de lo que el encabezado de HTTP a utilizar para establecer el nombre del campo de formulario (sólo estoy asumiendo que es un encabezado de la definición de este, no sé qué otra cosa podría ser), que luego pueden ser utilizados en PHP para acceder al campo en $_GET o $_FILES.

La solicitud HTTP, podría ser algo como esto:

Content-type: multipart/form-data;boundary=main_boundary

--main_boundary
Content-type: text/xml
<?xml version='1.0'?>
<content>
Some content goes here
</content>

--main_boundary
Content-type: multipart/mixed;boundary=sub_boundary

  --sub_boundary
  Content-type: application/octet-stream

  File A contents

  --sub_boundary
  Content-type: application/octet-stream

  File B contents

  --sub_boundary

--main_boundary--
¿Fue útil?

Solución

El encabezado Content-Disposition tiene un nombre argumento de que tiene el nombre de control.Debe haber uno después de cada --sub_boundary

--sub_boundary
Content-Disposition: form-data; name="mycontrol"

Casi se me olvida:Si el campo es un archivo de control, también hay un campo nombre de archivo y un encabezado de Tipo de Contenido

--sub_boundary
Content-Disposition: form-data; name="mycontrol"; filename="file1.xml"
Content-Type: application/xml;

y si no está el archivo de texto, también es necesario

Content-Transfer-Encoding: binary
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top