una solicitud solicitar peticion pedir para modelo informacion hacer especifica empresa documentos cómo como carta algo alcalde http file multipart

http - solicitar - modelo de carta de solicitud de documentos



¿Cómo debería ser una solicitud HTTP multiparte con múltiples archivos? (2)

Bueno, tenga en cuenta que la solicitud contiene datos binarios, por lo que no estoy publicando la solicitud como tal; en su lugar, he convertido todos los caracteres no imprimibles-ascii en un punto (".").

POST /cgi-bin/qtest HTTP/1.1 Host: aram User-Agent: Mozilla/5.0 Gecko/2009042316 Firefox/3.0.10 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: http://aram/~martind/banner.htm Content-Type: multipart/form-data; boundary=----------287032381131322 Content-Length: 514 ------------287032381131322 Content-Disposition: form-data; name="datafile1"; filename="r.gif" Content-Type: image/gif GIF87a.............,...........D..; ------------287032381131322 Content-Disposition: form-data; name="datafile2"; filename="g.gif" Content-Type: image/gif GIF87a.............,...........D..; ------------287032381131322 Content-Disposition: form-data; name="datafile3"; filename="b.gif" Content-Type: image/gif GIF87a.............,...........D..; ------------287032381131322--

Tenga en cuenta que cada línea (incluida la última que termina con "322--") termina con una secuencia / r / n.

Esta pregunta ya tiene una respuesta aquí:

Estoy trabajando en una aplicación de iPhone que realiza una solicitud HTTP de varias partes con múltiples archivos de imagen.

Parece que lo que está sucediendo, en el lado del servidor, es que una de las imágenes se está analizando correctamente, pero los otros dos archivos no lo están.

¿Alguien puede publicar una solicitud HTTP multiparte de muestra que contenga múltiples archivos de imagen?


EDITAR : Estoy manteniendo una respuesta similar, pero más detallada en: https://.com/a/28380690/895245

Para ver exactamente lo que está sucediendo, use nc -l y un agente de usuario como un navegador o cURL.

Guarde el formulario en un archivo .html :

<form action="http://localhost:8000" method="post" enctype="multipart/form-data"> <p><input type="text" name="text" value="text default"> <p><input type="file" name="file1"> <p><input type="file" name="file2"> <p><button type="submit">Submit</button> </form>

Crea archivos para cargar:

echo ''Content of a.txt.'' > a.txt echo ''<!DOCTYPE html><title>Content of a.html.</title>'' > a.html

Correr:

nc -l localhost 8000

Abra el HTML en su navegador, seleccione los archivos y haga clic en enviar y verifique la terminal.

nc imprime la solicitud recibida. Firefox enviado:

POST / HTTP/1.1 Host: localhost:8000 User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:29.0) Gecko/20100101 Firefox/29.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Cookie: __atuvc=34%7C7; permanent=0; _gitlab_session=226ad8a0be43681acf38c2fab9497240; __profilin=p%3Dt; request_method=GET Connection: keep-alive Content-Type: multipart/form-data; boundary=---------------------------9051914041544843365972754266 Content-Length: 554 -----------------------------9051914041544843365972754266 Content-Disposition: form-data; name="text" text default -----------------------------9051914041544843365972754266 Content-Disposition: form-data; name="file1"; filename="a.txt" Content-Type: text/plain Content of a.txt. -----------------------------9051914041544843365972754266 Content-Disposition: form-data; name="file2"; filename="a.html" Content-Type: text/html <!DOCTYPE html><title>Content of a.html.</title> -----------------------------9051914041544843365972754266--

Alternativamente, cURL debe enviar la misma solicitud de POST que su formulario de navegador:

nc -l localhost 8000 curl -F "text=default" -F "[email protected]" -F "[email protected]" localhost:8000

Puedes hacer múltiples pruebas con:

while true; do printf '''' | nc -l localhost 8000; done