¿Por qué curl envía la línea de comandos antes del cuerpo del mensaje en un HTTP PUT?

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

  •  03-07-2019
  •  | 
  •  

Pregunta

Estoy emitiendo el comando (línea interrumpida para facilitar la lectura):

curl -H"X-RequestIsAbsolutePath: F" \
-T /tmp/out \
-H'Content-Type: application/xml' \
"http://localhost:8182/metadata/036-Rotated.JPG"

Estoy enviando un cuerpo de mensaje de XML. Recibo una queja del analizador XML en el servidor por el contenido que no se permite en el prólogo. Agregué una opción --trace-acii a la línea de comando y vea:

=> Send header, 270 bytes (0x10e)
0000: PUT /metadata/036-Rotated.JPG HTTP/1.1
0028: User-Agent: curl/7.19.4 (i386-apple-darwin9.6.0) libcurl/7.19.4
0068: OpenSSL/0.9.8i zlib/1.2.3
0083: Host: localhost:8182
0099: Accept: */*
00a6: X-RequestIsAbsolutePath: F
00c2: Content-Type: application/xml
00e1: Content-Length: 235
00f6: Expect: 100-continue
010c:
== Info: Done waiting for 100-continue
=> Send data, 235 bytes (0xeb)
0000: curl -v -H"X-RequestIsAbsolutePath: F" "http://localhost:8182/me
0040: tadata/036-Original.JPG".<metadata>.  <Core>.    <ImageOrientati
0080: on editable="1" type="unsignedShort">.      <value raw="3"/>.
00c0:  </ImageOrientation>.  </Core>.</metadata>.

¿Por qué curl envía la línea de comandos como parte del cuerpo del mensaje? Por supuesto el analizador XML se quejará. ¿Cómo puedo obtener curl para dejar de hacer eso y enviar solo el contenido del archivo pasado como un argumento a la opción -T?

FYI: He capturado el texto sin procesar que se envía en el servidor y, sí, la línea de comandos realmente se está enviando. FYI # 2: Estoy usando el último rizo (7.19.4) en Mac OS X.

¿Fue útil?

Solución

  

¿Por qué Curl envía la línea de comandos como parte del cuerpo del mensaje?

No lo hace. ¿Está seguro de que de alguna manera no ha puesto el comando en / tmp / out ?

curl ni siquiera tiene acceso a la línea de comandos como se ve en tu rastreo ascii, ya que las cosas como las comillas son interpretadas & nbsp; por el shell antes de pasarlas al programa.

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