ব্যাশ কার্ল বিবৃতিতে কীভাবে একটি '&' অক্ষর অন্তর্ভুক্ত করা যায়


100

আমি ওয়েবপৃষ্ঠাটি ডাউনলোড করতে ব্যাশে কার্ল ব্যবহার করার চেষ্টা করছি, তবে &ইউআরএল- এর প্রতীকটি আমার পছন্দ মতো একটি চরিত্র হিসাবে ব্যাখ্যা করা হয়নি। আমি কীভাবে বাশকে বোঝাতে পারি যে কোনও প্রতীক &যে কেবল একটি বিরক্তিকর চরিত্র এবং বিশেষ কিছু নয়?


- নিম্নলিখিত বিষয় কটাক্ষপাত এই আপনাকে সাহায্য উচিত stackoverflow.com/questions/2067969/...
morgents

আমি প্রতিস্থাপন চেষ্টা করেছি &সঙ্গে প্রতীক \&, '&', "&", ^&কিন্তু না সঠিকভাবে নির্ণয় করা URL টি পেতে সক্ষম হয়েছে। প্রকৃতপক্ষে, '&'আমি টার্মিনাল.এপ থেকে কার্ল কমান্ডটি চালানোর সময় কাজ করে, কিন্তু যখন আমি এটি ব্যাশ স্ক্রিপ্টে রাখি, তখন এটি একটি লুপে लपेटান এবং চালিত করি ails
চেরনফ

উত্তর:


125

পুরো URL টি ডাবল উদ্ধৃতিতে রেখে দেওয়া আপনার সমস্যার যত্ন নেওয়া উচিত।


9
ভেরিয়েবলগুলি সমাধান করার প্রয়োজন না হলে একক উদ্ধৃতিগুলি আরও ভাল হতে পারে।
জেএমএম

যখন আমি পুরো ইউআরএল-এর চারপাশে কোট ব্যবহার করি তখন এক্সপ্রেশনটি ${i}কোনও মান দেয় না।
চেরনফ

4
আমার ক্ষেত্রে, ডাবল উদ্ধৃতি ব্যর্থ হয়েছে যখন একক উদ্ধৃতি ঠিকঠাক কাজ করেছে।
abeboparebop

4
কোট টাইপ করতে কোন প্রোগ্রামটি ব্যবহৃত হয় তা সাবধানতা অবলম্বন করুন। শেল স্ক্রিপ্ট সম্পাদনা করার তাড়াহুড়ো করার সময় আমি একটি পাঠ্য সম্পাদনা প্রোগ্রাম ব্যবহার করেছি। এটি সরাসরি ডাবল কোটের পরিবর্তে স্লিটেন্ট কোটস রাখে। এটি সত্যিই স্ক্রিপ্টটি গণ্ডগোল করে দেয় এবং সমস্যাটি খুঁজে পাওয়া কঠিন করে তোলে!
ডেভিড

41
curl "http://www.example.com?m=method&args=1"

আপনি কি জিইটি ইউআরএল এর জন্য এবং একটি সীমানা হিসাবে ব্যবহার করছেন? বা তথ্য এক টুকরা হয়?

যদি এটি ডেটাতে থাকে তবে আপনাকে অবশ্যই এটি একটি এইচটিএমএল চরিত্রের সাথে এনকোড করতে হবে, যদি তা না হয়, চারপাশে উদ্ধৃতি সহ।

এর জন্য এনকোডিংটি URL এ &হওয়া উচিত %26

curl "http://www.example.com?m=this%26that

আমি &প্রতীকটি ডেটা টুকরো হিসাবে ব্যবহার করছি , ঠিক যেমনটি আপনি দেখিয়েছেন। ধরাটি হ'ল, আমি ব্যবহার করছি এমন সংখ্যাগত মানগুলির পরিবর্তে ${i}। সুতরাং আমি http://www.example.com?m=method&args=${i}একটি URL হিসাবে মূল্যায়ন করতে চাই ।
চেরনফ

4
আমি যেভাবে ইউআরএলটি স্রেফ দেখিয়েছি তাতে জিইটি ভেরিয়েবলগুলির জন্য একটি ডেলিমেটার হিসাবে '&' ব্যবহার করা হয়েছে, তাই এখন আমি বিভ্রান্ত হয়ে পড়েছি, $ [i] আপনার কাছে '&' রয়েছে এমন একটি টুকরো ডেটা রয়েছে? যদি এমনটি হয় তবে আপনার এটির URL টি এনকোড করা দরকার। & =% 26
ম্যাট ক্লার্ক

4
পুরো ইন্টারনেট অনুসন্ধান করা সমাধান খুঁজে পেল না। @ ম্যাটক্লার্ক আপনি নায়ক আমি কেবল url এ এনকোড করেছি এবং এটি ডেটা ছিল এবং আমার স্ক্রিপ্টটি ঠিকঠাকভাবে কাজ করছে working
হারিস উর রেহমান

4
দ্বিতীয় কোড স্নিপেটের শেষে "অনুপস্থিত আছে?
ডেভিড

24

&প্রতীকটির চারপাশে একক উদ্ধৃতি রেখে কাজ করা মনে হচ্ছে। তা হল, http://www.example.com/page.asp?arg1=${i}'&'arg2=${j}কার্লের মতো একটি ইউআরএল ব্যবহার করা অনুরোধ করা ওয়েবপৃষ্ঠা দেয়।


4
আপনার প্রশ্নে যুক্তির প্রয়োজনীয়তা অন্তর্ভুক্ত করা উচিত যাতে এটি ভবিষ্যতের মতামতের জন্য পরিষ্কার।
মানাটেক্স

কেন এই উত্তর অভিযুক্ত করা হয়? এই উত্তরটি acceped করা আবশ্যক stackoverflow.com/a/13339492/2898694
Sharikov Vladislav

13

"&" অক্ষরগুলি পালনের চেষ্টা করার পরিবর্তে, নীচের চিত্রের মতো -D পরামিতি সহ আপনি পোষ্ট অনুরোধগুলিতে http url পরামিতিগুলি নির্দিষ্ট করতে পারেন:

curl -X POST http://www.example.com \
-d arg1=this \
-d arg2=that

যদি অনুরোধটি জিইটি হয় তবে আপনার-জি বিকল্পও যুক্ত করা উচিত, যা জিইটি অনুরোধের সাথে ডেটা প্রেরণ করতে কার্লকে বলে।

curl -X GET -G http://www.example.com \
-d arg1=this \
-d arg2=that

এটাই সেরা উত্তর! ধন্যবাদ!
আনব্রেক

এটি আমার পক্ষে কাজ করেছে। ডাবল উদ্ধৃতি যুক্ত করা কার্যকর হয়নি।
জুহোগ

9

%26পরিবর্তে আপনি ব্যবহার করতে পারেন &। সত্তা কোড সূক্ষ্ম কাজ করবে।


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.