لماذا يتم إرسال Curl إلى سطر الأوامر قبل وضع جسم الرسالة في HTTP؟

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

  •  03-07-2019
  •  | 
  •  

سؤال

أنا أصدر الأمر (الخط المكسور لقدرة على القراءة):

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

أنا أرسل رسالة رسالة من XML. أحصل على شكوى من محلل XML على الخادم حول المحتوى غير المسموح به في المقدمة. أضفت خيار-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>.

لماذا يرسل Curl سطر الأوامر نفسه كجزء من جسم الرسالة؟ بالطبع سوف يشكو محلل XML. كيف يمكنني الحصول على حليقة للتوقف عن القيام بذلك وإرسال محتويات الملف فقط تم تمريرها كوسيطة لخيار -T؟

لمعلوماتك: لقد التقطت النص الخام الذي يتم إرساله على الخادم ، ونعم ، يتم إرسال سطر الأوامر حقًا. FYI#2: أنا أستخدم أحدث حليقة (7.19.4) على Mac OS X.

هل كانت مفيدة؟

المحلول

لماذا يرسل Curl سطر الأوامر نفسه كجزء من جسم الرسالة؟

لا. هل أنت متأكد من أنك لم تضع الأمر بطريقة أو بأخرى /tmp/out?

لا يمكن حتى الوصول إلى Curl الوصول إلى سطر الأوامر كما هو موضح في تتبع ASCII الخاص بك ، حيث يتم تفسير أشياء مثل علامات الاقتباس بواسطة القشرة قبل نقلها إلى البرنامج.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top