উত্তর:
ডিফল্টরূপে আপনি কোন অনুরোধ পদ্ধতিটি ব্যবহার করবেন তা স্পষ্টভাবে না বলে আপনি কার্ল ব্যবহার করেন। আপনি যদি এইচটিটিপি ইউআরএল পাস করেন তবে curl http://example.com
এটি জিইটি ব্যবহার করবে। আপনি যদি ব্যবহার করেন -d
বা -F
কার্ল পোষ্ট ব্যবহার -I
করবেন তবে একটি শিরোনাম -T
ঘটবে এবং এটিকে পুট তৈরি করবে।
কার্লের জন্য আপনার এই ডিফল্ট পছন্দগুলি নিয়ে যে কোনও কারণেই আপনি খুশি নন তবে আপনি সেই অনুরোধ পদ্ধতিগুলি নির্দিষ্ট করে ওভাররাইড করতে পারেন -X [WHATEVER]
। আপনি উদাহরণস্বরূপ এটি করে একটি মোছা পাঠাতে পারেন curl -X DELETE [URL]
।
curl -X GET [URL]
জিইটি যেভাবেই ব্যবহৃত হবে তা করা অর্থহীন । একই শিরাতে এটি করা অর্থহীন curl -X POST -d data [URL]...
তবে আপনি একটি মজাদার এবং কিছুটা বিরল অনুরোধ করতে পারেন যা একটি GET অনুরোধে অনুরোধের সাথে কিছু অনুরোধ সহ একটি অনুরোধ-বডি প্রেরণ করে curl -X GET -d data [URL]
।
curl -GET
(একক ড্যাশ ব্যবহার করা) এই উদ্দেশ্যে কেবল ভুল। যে উল্লেখ সমতুল্য এর -G
, -E
এবং -T
বিকল্প এবং যে সম্পূর্ণ ভিন্ন কিছু করতে হবে।
কার্লের অপশনও রয়েছে --get
যাতে কারও সাথে বিভ্রান্তি না ঘটে। এটি-জি-র দীর্ঘ রূপ, যা নির্দিষ্ট -d
করা ডেটা কোনও পোষ্টের পরিবর্তে জিইটি অনুরোধে রূপান্তর করতে ব্যবহৃত হয় ।
(পরবর্তীকালে আমি এখানে আমার নিজের উত্তরটি কার্ল এফএকিউতে আবরণ করতে এখানে ব্যবহার করতে পারি ))
কার্ল এর আধুনিক সংস্করণগুলি -v
ব্যবহারকারীদের সচেতন করার জন্য - ভার্বোস মোড সক্ষম করা হলে ( ) - এক্স এর এই অপ্রয়োজনীয় এবং সম্ভাব্য ক্ষতিকারক ব্যবহার সম্পর্কে অবহিত করবে users আরও ব্যাখ্যা এবং এই ব্লগ পোস্টে অনুপ্রাণিত ।
আপনি কার্লকে -d
বিকল্পগুলির একটি সেট রূপান্তর করতে এবং তাদেরকে পোস্টের মাধ্যমে অনুরোধ সংস্থায় প্রেরণের পরিবর্তে URL এর ক্যোয়ারী স্ট্রিংয়ের শেষে রেখে এবং ET -G ব্যবহার করে একটি জিইটি জারি করতে পারেন। এটার মত:
curl -d name=daniel -d grumpy=yes -G https://example.com/
-এক্স [আপনার পদ্ধতি]
এক্স আপনাকে ডিফল্ট 'গেট' ওভাররাইড করতে দেয়
** ছোট হাতের x
অক্ষরে বড় হাত থেকে সংশোধন করা হয়েছেX
এইচটিটিপি অনুরোধে কেবল ব্যবহারের -X [WHATEVER]
অনুরোধের পদ্ধতিটির স্ট্রিং পরিবর্তন করে । এটি দুটি উদাহরণের সাথে বোঝা সহজ - একটিতে -X [WHATEVER]
এবং এর সাথে একটি - এবং সম্পর্কিত HTTP অনুরোধ শিরোনামগুলির জন্য:
# curl -XPANTS -o nul -v http://neverssl.com/
* Connected to neverssl.com (13.224.86.126) port 80 (#0)
> PANTS / HTTP/1.1
> Host: neverssl.com
> User-Agent: curl/7.42.0
> Accept: */*
# curl -o nul -v http://neverssl.com/
* Connected to neverssl.com (13.33.50.167) port 80 (#0)
> GET / HTTP/1.1
> Host: neverssl.com
> User-Agent: curl/7.42.0
> Accept: */*