Frage

Ich stelle den Befehl aus (Zeile für die Lesbarkeit gebrochen):

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

Ich sende eine Nachricht von XML. Ich bekomme eine Beschwerde vom XML -Parser auf dem Server über Inhalte, die im Prolog nicht zulässig sind. Ich habe der Befehlszeile eine Option "TRACE-ACII" hinzugefügt und sehen Sie:

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

Warum sendet Curl die Befehlszeile selbst als Teil des Nachrichtenkörpers? Natürlich wird sich der XML -Parser beschweren. Wie kann ich Curl dazu bringen, dies zu beenden und nur den Inhalt der Datei als Argument an die Option -t zu senden?

Zu Ihrer Information: Ich habe den Rohtext erfasst, der auf dem Server gesendet wird, und ja, die Befehlszeile wird wirklich gesendet. FYI#2: Ich verwende die neueste Curl (7.19.4) unter Mac OS X.

War es hilfreich?

Lösung

Warum sendet Curl die Befehlszeile selbst als Teil des Nachrichtenkörpers?

Es tut es nicht. Sind Sie sicher, dass Sie den Befehl nicht irgendwie eingelegt haben /tmp/out?

Curl hat nicht einmal Zugriff auf die Befehlszeile, wie in Ihrer ASCII-Spur zu sehen ist, da Dinge wie die Zitatmarken von der Shell interpretiert werden, bevor sie an das Programm übergeben werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top