উত্তর:
ক্ষেত্র সহ:
curl --data "param1=value1¶m2=value2" https://example.com/resource.cgi
ক্ষেত্রগুলি স্বতন্ত্রভাবে নির্দিষ্ট করা সহ:
curl --data "param1=value1" --data "param2=value2" https://example.com/resource.cgi
বহু-অংশযুক্ত:
curl --form "fileupload=@my-file.txt" https://example.com/resource.cgi
ক্ষেত্র এবং একটি ফাইলের নাম সহ একাধিক অংশ:
curl --form "fileupload=@my-file.txt;filename=desired-filename.txt" --form param1=value1 --form param2=value2 https://example.com/resource.cgi
ডেটা ছাড়াই:
curl --data '' https://example.com/resource.cgi
curl -X POST https://example.com/resource.cgi
curl --request POST https://example.com/resource.cgi
আরও তথ্যের জন্য দেখুন সিআরএল ম্যানুয়াল । একটি ওয়েব ব্রাউজার এমুলেট উপর কার্ল টিউটোরিয়াল সহায়ক।
Libcurl এর সাহায্যে curl_formadd()
আপনার ফর্মটি স্বাভাবিক উপায়ে জমা দেওয়ার আগে তৈরি করতে ফাংশনটি ব্যবহার করুন । দেখুন libcurl ডকুমেন্টেশন দেখুন।
বড় ফাইলগুলির জন্য, আপলোড অগ্রগতি দেখানোর জন্য প্যারামিটার যুক্ত করার বিষয়টি বিবেচনা করুন:
curl --tr-encoding -X POST -v -# -o output -T filename.dat \
http://example.com/resource.cgi
-o output
প্রয়োজন বোধ করা হয়, অন্যথায় কোনো অগ্রগতি বার প্রদর্শিত হবে।
--data-urlencode
(কোনও ড্যাশ নেই), সাম্প্রতিক সংস্করণগুলিতে কমপক্ষে
With Fields
কখন এটি করব , কখন Multipart
এবং কখন Without Data
?
--data
আপনি ব্যবহার করতে পারেন -d
।
এক্সএমএলযুক্ত একটি বিশ্রামের এইচটিটিপি পোস্টের জন্য:
curl -X POST -d @filename.txt http://example.com/path/to/resource --header "Content-Type:text/xml"
বা JSON এর জন্য, এটি ব্যবহার করুন:
curl -X POST -d @filename.txt http://example.com/path/to/resource --header "Content-Type:application/json"
এটি নামের ফাইলটির সামগ্রীগুলি পড়বে filename.txt
এবং পোস্টের অনুরোধ হিসাবে এটি প্রেরণ করবে।
curl -X POST
একটি HTTP পোষ্ট অনুরোধ বোঝায়, -d
প্যারামিটার (দীর্ঘ সংস্করণ --data
:) কার্লকে বলে যে এরপরে যা পোস্ট করা হবে তা পরামিতি হবে এবং @filename
ফাইলের বিষয়বস্তুকে filename
প্যারামিটার হিসাবে মনোনীত করে । এই অ্যাপ্রোচটি টুইটার, ফেসবুক, রিলে অন রুবি সহ বিভিন্ন অন্যান্য ওয়েব সার্ভিসেস পাশাপাশি কাউচডিবি-র মতো ডেটাবেজের এইচটিটিপি এপিআই-তে পাওয়া যেমন রিস্টালফুল এইচটিটিপি এপিআইগুলির সাথে সবচেয়ে ভাল কাজ করে। বাকি জন্য দাঁড়িয়েছে প্রতিনিধিত্বমূলক রাজ্য স্থানান্তর
-X POST
যেহেতু ইঙ্গিতযুক্ত তা ছেড়ে দিতে পারেন -d
।
স্ট্যান্ডিনের সাথে ডেটা -d @-
উদাহরণ:
echo '{"text": "Hello **world**!"}' | curl -d @- https://api.github.com/markdown
আউটপুট:
<p>Hello <strong>world</strong>!</p>
curl -d "name=Rafael%20Sagula&phone=3320780" http://www.where.com/guest.cgi
কার্ল উদাহরণ ম্যানুয়ালটিতে পাওয়া উদাহরণ ।
অ্যাম্পারস্যান্ডদের জন্য% 26 ব্যবহার করুন যদিও উপরেরটি কাজ না করে:
curl -d "name=Rafael%20Sagula%26phone=3320780" http://www.where.com/guest.cgi
আপনি যদি কোনও সাইটে লগইন করতে চান তবে নিম্নলিখিতগুলি করুন:
curl -d "username=admin&password=admin&submit=Login" --dump-header headers http://localhost/Login
curl -L -b headers http://localhost/
প্রথম অনুরোধটি "শিরোলেখ" ফাইলটিতে সেশন কুকি (যা সফল লগইনের উপর সরবরাহ করা হয়) সংরক্ষণ করে। এখন থেকে আপনি সেই কুকিটি কোনও ব্রাউজারে লগ ইন করার পরে আপনি সাধারণত যে ওয়েবসাইটটিতে অ্যাক্সেস করেন সেটির কোনও অংশে আপনাকে প্রমাণীকরণ করতে ব্যবহার করতে পারেন।
curl -v --data-ascii var=value http://example.com
এবং আরও অনেক বিকল্প রয়েছে, curl --help
আরও তথ্যের জন্য চেক করুন।
আপনি যদি অলস হন তবে আপনার জন্য সমস্ত কাজ করার জন্য আপনি গুগল-ক্রোম পেতে পারেন।
ক্রোম সিআরএল সিন্টেক্সে সমস্ত অনুরোধের ডেটা অনুলিপি করবে।
ক্রোম ব্যবহার করে --data 'param1=hello¶m2=world'
আপনি কোন প্রকারের পোষ্ট অনুরোধটি প্রেরণ করতে চান তার উপর নির্ভর করে কোনও একক -d
বা -F
প্রতি পরামিতি ব্যবহার করে আপনি আরও পঠনযোগ্য করতে পারেন যা কোনটি application/x-www-form-urlencoded
বা multipart/form-data
তদনুসারে হতে পারে ।
এটি পোস্ট-এড হিসাবে থাকবে application/x-www-form-urlencoded
( বেশিরভাগ ফর্মের জন্য ব্যবহৃত হয় যা ফাইল আপলোডগুলি ধারণ করে না ):
curl http://httpbin.org/post \
-H "User-Agent: Mozilla/2.2" \
-d param1=hello \
-d name=dinsdale
একটি multipart/form-data
পোস্ট ব্যবহারের জন্য -F
( সাধারণত ফাইল আপলোডগুলি ধারণ করে এমন ফর্মগুলির সাথে ব্যবহৃত হয়, বা যেখানে ক্ষেত্রের ক্রম গুরুত্বপূর্ণ, বা যেখানে একই নামের একাধিক ক্ষেত্র প্রয়োজন ):
curl http://httpbin.org/post \
-H "User-Agent: Mozilla/2.2" \
-F param1=hello \
-F name=dinsdale \
-F name=piranha
User-Agent
হেডার স্বাভাবিকভাবে প্রয়োজন নেই, কিন্তু আমি ধরো যদি এটা নিক্ষিপ্ত করেছি। ~/.curlrc
উদাহরণস্বরূপ এমন ফাইল তৈরি করে আপনি প্রতিটি অনুরোধে ব্যবহারকারী এজেন্ট সেট করা এড়াতে পারবেনUser-Agent: "Mozilla/2.2"
curl -d "param1=value1¶m2=value2" -X POST http://localhost:3000/data