এটি অর্জনের আমার উপায় :
উভয় (শিরোনাম এবং শরীর) পেতে, আমি সাধারণত curl -D- <url>
হিসাবে হিসাবে একটি সম্পাদন :
$ curl -D- http://localhost:1234/foo
HTTP/1.1 200 OK
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: application/json
Date: Wed, 29 Jul 2020 20:59:21 GMT
{"data":["out.csv"]}
এই হেডার (ডাম্প হবে -D
) stdout- এ ( -
) (দেখুন --dump-header
মধ্যে মানুষ কার্ল )।
আইএমএইচওও এই প্রসঙ্গে খুব সহজ:
আমি প্রায়শই সেই জসন ডেটা (যেমন কিছু বিশ্রামের এপিআই থেকে) ফর্ম্যাটেড পেতে jq ব্যবহার করি । তবে যেমন জেকিউ এইচটিটিপি শিরোনামের প্রত্যাশা করে না, কৌশলটি হ'ল স্ট্যাডার ব্যবহার করে শিরোনামগুলি মুদ্রণ করা -D/dev/stderr
। নোট করুন যে এবার আমরা -sS
অগ্রগতি মিটারটি দমন করতে (- নিঃশব্দ, - শো-ত্রুটিগুলি )ও ব্যবহার করি (কারণ আমরা পাইপে লিখি)।
$ curl -sSD/dev/stderr http://localhost:1231/foo | jq .
HTTP/1.1 200 OK
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: application/json
Date: Wed, 29 Jul 2020 21:08:22 GMT
{
"data": [
"out.csv"
]
}
আমার ধারণা, আপনি যদি কনসোল করতে শিরোনামগুলি (দ্রুত পরিদর্শন করার জন্য) মুদ্রণ করতে চান তবে কোনও ফাইলকে শরীরের পুনর্নির্দেশ করতে চান (উদাহরণস্বরূপ যখন এটি কোনও প্রকারের বাইনারি আপনার টার্মিনালটি গোলমাল না করে):
$ curl -sSD/dev/stderr http://localhost:1231 > /dev/null
HTTP/1.1 200 OK
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: application/json
Date: Wed, 29 Jul 2020 21:20:02 GMT
সচেতন থাকুন: এটি এর মতো নয় curl -I <url>
! যেমন -I
একটি HEAD
অনুরোধ সম্পাদন করবে এবং একটি GET
অনুরোধ নয় ( ম্যান কার্লের জন্য --head
সন্ধান করুন Yes হ্যাঁ: বেশিরভাগ এইচটিটিপি সার্ভারের জন্য এটি একই ফল দেবে But তবে আমি প্রচুর ব্যবসায়িক অ্যাপ্লিকেশনগুলি জানি যা অনুরোধটি মোটেও প্রয়োগ করে না; -পিHEAD