Perché curl sta inviando la riga di comando prima del corpo del messaggio in un HTTP PUT?

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

  •  03-07-2019
  •  | 
  •  

Domanda

Sto inviando il comando (riga interrotta per leggibilità):

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

Sto inviando un corpo di messaggio di XML. Ricevo un reclamo dal parser XML sul server per il contenuto non consentito nel prologo. Ho aggiunto un'opzione --trace-acii alla riga di comando e vedo:

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

Perché curl sta inviando la stessa riga di comando come parte del corpo del messaggio? Naturalmente il parser XML si lamenterà. Come posso ottenere il curl per smettere di farlo e inviare solo il contenuto del file passato come argomento all'opzione -T?

Cordiali saluti: ho catturato il testo non elaborato inviato sul server e, sì, la riga di comando è stata effettivamente inviata. FYI # 2: sto usando l'ultimo ricciolo (7.19.4) su Mac OS X.

È stato utile?

Soluzione

  

Perché curl sta inviando la stessa riga di comando come parte del corpo del messaggio?

Non lo fa. Sei sicuro di non aver in qualche modo messo il comando in / tmp / out ?

curl non ha nemmeno accesso alla riga di comando come visto nella tua traccia ascii, poiché cose come le virgolette vengono interpretate dalla shell prima che vengano passate al programma.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top