সিআরএল কমান্ড লাইন ইউআরএল পরামিতি


186

আমি DELETEসিআরএল ব্যবহার করে একটি url পরামিতি সহ একটি অনুরোধ প্রেরণ করার চেষ্টা করছি । আমি করিতেছি:

curl -H application/x-www-form-urlencoded -X DELETE http://localhost:5000/locations` -d 'id=3'

যাইহোক, সার্ভারটি প্যারামিটার আইডি = দেখতে পাচ্ছে না 3.. আমি কিছু জিইউআই অ্যাপ্লিকেশন ব্যবহার করার চেষ্টা করেছি এবং যখন আমি ইউআরএলটি পাস করি:, http://localhost:5000/locations?id=3এটি কাজ করে। আমি সত্যিই বরং এই জিইউআই অ্যাপ্লিকেশনটির পরিবর্তে সিআরএল ব্যবহার করব। আমি কি ভুল করছি কেউ দয়া করে নির্দেশ করতে পারেন?

উত্তর:


269

"অ্যাপ্লিকেশন / x-www-form-urlencoded" শিরোনাম, কেন? চেষ্টা কর:

curl -X DELETE 'http://localhost:5000/locations?id=3'

অথবা

curl -X GET 'http://localhost:5000/locations?id=3'

30
এটা কাজ করেছে. আমি ঠিক বুঝতে পেরেছি যে প্যারামিটারগুলি গ্রহণ করার জন্য ইউআরএলটি উদ্ধৃতিগুলির মধ্যে থাকতে হবে। সেই মাইম টাইপটি প্যারামিটারগুলির সাথে URL এর জন্য এবং জিইউআই অ্যাপ্লিকেশন কী ব্যবহার করে তা জানায়। এছাড়াও, আমি করতে চাই না GET। আমি চাই DELETEএবং চাই না GETএবং আমি যথাযথ আরএসইএসটি নকশা মান অনুসরণ করার চেষ্টা করছি যাতে আমি মুছে ফেলছি এবং মুছে ফেলার সময় নয়।
darksky

1
আমার ক্ষেত্রে এটি শুধুমাত্র ডাবল উদ্ধৃতি দিয়ে কাজ করে, কার্ল হিসাবে একক উদ্ধৃতি সহ: (1) প্রোটোকল 'এইচটিপি লাইবকার্লে সমর্থিত বা অক্ষম নয় তবে "" উদ্ধৃতিটি ঠিক কাজ করে।
জেফ_এলিফসন

149

ফিলিপসমার্টিনস সঠিক।

এটি উল্লেখ করার মতো কারণ এটি যদি কোনও পোষ্ট অনুরোধ না হয় তবে আপনি সত্যিই -d / - ডেটা বিকল্পটি ব্যবহার করতে পারবেন না। আপনি এখনও -G বিকল্পটি ব্যবহার করেন তবে এটি এখনও সম্ভব।

যার অর্থ আপনি এটি করতে পারেন:

curl -X DELETE -G 'http://localhost:5000/locations' -d 'id=3'

এখানে কিছুটা মূর্খ তবে আপনি যখন কমান্ড লাইনে থাকবেন এবং আপনার অনেকগুলি পরামিতি রয়েছে, এটি অনেক পরিপাটি হয়।

আমি এটি বলছি কারণ সিআরএল কমান্ডগুলি সাধারণত বেশ দীর্ঘ হয়, সুতরাং লাইন বিরতিতে রক্ষা পাওয়া একাধিক লাইনে এটি তৈরি করা উপযুক্ত।

curl -X DELETE -G \
'http://localhost:5000/locations' \
-d id=3 \
-d name=Mario \
-d surname=Bros

আপনি zsh ব্যবহার করলে এটি অবশ্যই অনেক বেশি স্বাচ্ছন্দ্যযুক্ত। আমি বলতে চাইছি যখন আপনাকে পূর্ববর্তী কমান্ডটি পুনরায় সম্পাদনা করতে হবে কারণ zsh আপনাকে লাইনে লাইনে যেতে দেয়। (কথা মাত্র)

আশা করি এটা সাহায্য করবে.


11
জীবন রক্ষাকারী! ধন্যবাদ মানুষ! আমার একটি স্ক্রিপ্ট রয়েছে যেখানে আমি একটি জিইটি-তে ডেটা-ইউরেনকোড ব্যবহার করতে চাই। এটি এটি তৈরি করেছে যাতে আমাকে আমার পরামিতিগুলিকে ম্যানুয়ালি url-encod করতে হবে না। ধন্যবাদ!
নাথান ওয়ালেস

3
আপনি কি বোঝাচ্ছেন -X ডিলিট -জি সত্যিই একটি পোস্টের অনুরোধ?
হুগি

1
`-জি, - পোস্টে ইউআরএল ডেটা রাখুন এবং জিটিও নং ব্যবহার করুন, এটি কেবলমাত্র ইউআরএলটিতে পোস্ট ডেটা যুক্ত করে, -X [পদ্ধতি] অগ্রাধিকার নেয় (উত্স: কার্ল - সাহায্য এবং অভিজ্ঞতা)
ডাউনলোড

এটি এতটা বিশৃঙ্খল কীভাবে হতে পারে। কেউ ধরে নিতে পারে --data-urlencode কোনও ব্যাতিক্রম ছাড়াই ইউআরএলটিতে ডেটা যুক্ত করে তবে এখন --getএটির কাজ করতে আপনাকে এখন এটির সাথে একত্রিত করতে হবে।
যাক্কো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.