1
我发出命令(线断为可读性):为什么curl在HTTP PUT中的消息正文之前发送命令行?
curl -H"X-RequestIsAbsolutePath: F" \
-T /tmp/out \
-H'Content-Type: application/xml' \
"http://localhost:8182/metadata/036-Rotated.JPG"
我发送XML的消息体。我从服务器上的XML解析器收到关于prolog中不允许的内容的投诉。我添加了一个--trace-ACII选项添加到命令行,看到:
=> 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>.
为什么卷曲发送命令行本身作为邮件正文的一部分? XML解析器当然会抱怨。我怎样才能让curl停止这样做,并只将作为参数传递给文件的内容发送到-T选项?
仅供参考:我已经捕获了在服务器上发送的原始文本,是的,命令行确实正在发送。 FYI#2:我在Mac OS X上使用最新的卷曲(7.19.4)。
呃,是的 - 命令在文件中。好吧,我现在觉得很蠢。 :( – 2009-05-04 19:31:17