কার্ল দিয়ে একটি পুট রিকোয়েস্ট করবেন কীভাবে?


412

আমি কীভাবে কার্ল ব্যবহার করে একটি রেস্টস্টুল পুট (বা মোছা) পদ্ধতিটি পরীক্ষা করব?

উত্তর:


566

-Xআপনি যা চান HTTP ক্রিয়া সহ পতাকা ব্যবহার করুন :

curl -X PUT -d arg=val -d arg2=val2 localhost:8080

এই উদাহরণটি -dআপনার পিট অনুরোধের সাথে যুক্তি সরবরাহ করতে পতাকা ব্যবহার করে ।


17
"ম্যান কার্ল" অন-এক্স: "সাধারণত আপনার এই বিকল্পের প্রয়োজন হয় না dedicated তবে আমি আর কোনও উপায় খুঁজে পেলাম না।
মার্টিন সি মার্টিন

44
এক বছর পরে, আমি একটি উপায় খুঁজে! কার্ল-টি
মার্টিন সি মার্টিন

2
মার্টিন সি মার্টিনের উত্তরটি সার্ভার থেকে পুনর্নির্দেশের পরে জিইটি-তে পরিবর্তিত হওয়ায় এটি আমার মতে আরও কার্যকর উত্তর।
মার্টিন 12

2
GETপুনর্নির্দেশের পরে তা অর্জন করতে , প্যারামিটারটি যুক্ত করুন--location
মার্টিন এম

1
7.47 কার্ল করুন এবং এটি আমার পক্ষে কাজ করবে না। থ্যাব্রাহামের উত্তর সর্বদা পোস্ট আচরণের জন্য খেলাপি হয়। --get (বা -G) তবে -d (--data) ক্ষেত্রগুলিকে url প্যারামিটারে পরিণত করতে বাধ্য করবে এবং কাজ করবে।
জেমস পাওয়েল

101

দ্রুত উত্তর:

একক লাইনে কার্ল কমান্ডটি হ'ল:

ক) ফর্ম ডেটা প্রেরণ করা হলে:

curl -X PUT -H "Content-Type: multipart/form-data;" -F "key1=val1" "YOUR_URI"

খ) জসন হিসাবে কাঁচা তথ্য প্রেরণ করা হলে:

curl -X PUT -H "Content-Type: application/json" -d '{"key1":"value"}' "YOUR_URI"

গ) পোস্টের অনুরোধের সাথে যদি কোনও ফাইল প্রেরণ করা হয়:

curl -X POST "YOUR_URI" -F 'file=@/file-path.csv'

বিকল্প সমাধান:

সমতুল্য সিআরএল অনুরোধটি পেতে আপনি Chrome স্টোর থেকে POSTMAN অ্যাপ্লিকেশনটি ব্যবহার করতে পারেন । আরও জটিল অনুরোধগুলি লেখার সময় এটি বিশেষত কার্যকর।

অন্যান্য ফরমেটের সাথে অনুরোধের জন্য বা জাভা, পিএইচপি এর মতো বিভিন্ন ক্লায়েন্টের জন্য অনুরোধের জন্য, আপনি নীচে পোষ্টম্যান / মন্তব্য পরীক্ষা করে দেখতে পারেন।

অনুরোধ কোড পেতে পোষ্টম্যান


4
কেন এটিকে নিম্নমান দেওয়া হয়েছে তা ধারণা নেই ... আমি কীভাবে কার্ল পুটের জন্য জেএসওএন বডিটি পাস করব এই ধারণাটি এখানে অনুলিপি করেছি। আরও জটিল প্রশ্নের জন্য কার্ল কোড পাওয়ার জন্য পোস্টম্যান বেশ দুর্দান্ত সরঞ্জাম :) :)
মিকেল লেপিস্ট

2
ধন্যবাদ !! এমনকি ডাউনভোটগুলি সম্পর্কে কেন আমার কোনও ধারণা নেই। ব্যবহারকারীরা এটি গ্রহণে অনীহা প্রকাশ করতে পারে। আমি পোস্টম্যানে মোবাইলের জন্য আমার সমস্ত আরএসটি এপিসের একটি রেসো তৈরি করেছি এবং এটিই সবচেয়ে সেরা উত্পাদনশীলতার টিপ যা আমি আরইএসইএসটির সাথে কাজ করার পরামর্শ দিতে পারি suggest
পূর্বক

বাস্তব বিশ্বের উদাহরণ যেখানে আমি শেষ পয়েন্টে জসন ডেটা এবং প্যারামিটারটি পার করছি; কার্ল-এক্স পুট-এইচ "বিষয়বস্তুর ধরণ: অ্যাপ্লিকেশন / জেসন" -ড '{"পরিমাণ": "999", "টাইপ": "গাড়ি", "প্যারেন্ট_আইডি": "12345" local' লোকালহোস্ট: 8080 / লেনদেনের সেবা / লেনদেন / 2222
বিক্রমভি

1
একটি সম্পূর্ণ ব্রাউজার ইনস্টল করা (যদি কারও কাছে ক্রোম না থাকে) এবং এর জন্য একটি এক্সটেনশন কিছু লোকের জন্য ওভারকিল হতে পারে imho। কমপক্ষে আপনি ফায়ারফক্সের মতো আরও একটি সাধারণ (ডিফল্ট ইনস্টলেশন) ওয়েব ব্রাউজারের জন্য বিকল্প সরবরাহ করতে পারতেন, যেখানে এইচটিটিপিআরয়েস্টার একই কাজ করে।
rbaleksandar

5
এটি ডাউনভোট হতে পারে কারণ প্রশ্নটি কার্ল সম্পর্কে।
tuxayo

28

মার্টিন সি মার্টিনের মন্তব্য অনুসরণ করে একটি উদাহরণ:

curl -T filename.txt http://www.example.com/dir/

সঙ্গে -T(একই হিসাবে --upload-file) কার্ল HTTP- র রেখে ব্যবহার করা হবে।


8
দুর্ভাগ্যক্রমে, যদি আপনি বা এর সাথে পরামিতি নির্দিষ্ট করতে চান তবে এর -Tবিকল্প নেই । PUT এর মাধ্যমে একটি ফাইলের সামগ্রী প্রেরণ করে। পুনর্নির্দেশের পরে তা অর্জন করতে , প্যারামিটারটি যুক্ত করুন-X PUT-d-F-TGET--location
মার্টিন এম

filename.txt যদি রিমোট সার্ভারে থাকে?
বোসারি

7
curl -X PUT -d 'new_value' URL_PATH/key

কোথায়,

অনুরোধ কমান্ডের জন্য এক্স - বিকল্পটি ব্যবহার করা হবে

d - বিকল্পটি দূরবর্তী url এ ডেটা রাখতে ব্যবহার করতে হবে order

URL_PATH - দূরবর্তী url

new_value - মান যা আমরা সার্ভারের কীতে রাখতে চাই


5

আমি এই থ্রেডে দেরী করছি, তবে আমারও একই রকম প্রয়োজন ছিল। যেহেতু আমার স্ক্রিপ্টটি কার্লের জন্য অনুরোধটি গতিশীলভাবে তৈরি করছিল, তাই আমি জিইটি, পোস্ট এবং পুট জুড়ে কমান্ডের অনুরূপ কাঠামো চাইছিলাম।

এখানে আমার জন্য কাজ করে

জন্য PUT অনুরোধ:

curl --request PUT --url http://localhost:8080/put --header 'content-type: application/x-www-form-urlencoded' --data 'bar=baz&foo=foo1'

জন্য পোষ্ট অনুরোধ:

curl --request POST --url http://localhost:8080/post --header 'content-type: application/x-www-form-urlencoded' --data 'bar=baz&foo=foo1'

জন্য তাহলে GET অনুরোধ:

curl --request GET --url 'http://localhost:8080/get?foo=bar&foz=baz'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.