সিআরএল প্রতিক্রিয়া বডি দমন


110

প্রতিক্রিয়ার মূল অংশের আউটপুট দমন করার জন্য কি সিআরএলকে নির্দেশ দেওয়া সম্ভব?

আমার ক্ষেত্রে, প্রতিক্রিয়া সংস্থাটি একটি HTML পৃষ্ঠাগুলি, যা সিএলআই বাফারকে উপচে ফেলেছে, প্রাসঙ্গিক তথ্য খুঁজে পাওয়া শক্ত করে তোলে। আমি আউটপুটটির অন্যান্য অংশ যেমন HTTP প্রতিক্রিয়া কোড, শিরোনাম, ইত্যাদি - প্রকৃত এইচটিএমএল ব্যতীত সমস্ত কিছু পরীক্ষা করতে চাই ।

উত্তর:


116

আপনি -oস্যুইচ এবং nullসিউডো-ফাইলটি ব্যবহার করতে পারেন :

ইউনিক্স

curl -s -o /dev/null -v http://google.com

উইন্ডোজ

curl -s -o nul -v http://google.com

1
... আপনি যদি ইউনিক্সে থাকেন ;-) উইন্ডোজের জন্য আপনি নুল ব্যবহার করতে পারেন। এখানে ডক্স লিংক, সম্ভবত BaltoStar পরের বার জিজ্ঞাসা করার আগে পড়তে আবেগ মতানুযায়ী ;-) curl.haxx.se/docs/manpage.html
Marged

3
আপনি স্বাগত জানাই। কিন্তু এটি "nul" হয়, "নাল" যে নামের একটি ফাইল তৈরি করবে
Marged

1
আসলে আমি পোস্ট করার আগে ম্যান পৃষ্ঠাটি পড়েছিলাম এবং চেষ্টা করেছি -s -o nulকিন্তু আমার উইন্ডোজ মেশিনে curl -s -o nul -v http://{internal-host}/{internal-uri}পৃষ্ঠার পুরো এইচটিএমএল curl -s -o nul -v http://google.comআউটপুট দেয় - আমি চেষ্টা করেছি এবং এটি প্রত্যাশা অনুযায়ী আউটপুট দমন করে, তাই কেন এটি আমার অভ্যন্তরীণ সাইটের জন্য কাজ করে না বুঝতে পারছি না
বাল্টোস্টার

-oকেবল একটি ইউআরএল আউটপুট নির্দিষ্ট করে: আপনার যদি একাধিক ইউআরএল থাকে তবে এটি কেবল প্রথমটিকে বাতিল করবে :(
সাইমন বুচান

1
অ-বহনযোগ্য NULএবং এর উপর নির্ভর করে /dev/null। ব্যবহার -sIXGETকরা একটি ভাল বিকল্প আইএমও।
বিনকি

45

সমস্ত কার্ল আউটপুট এবং শিরোনাম দমন করার একটি উপায় এখানে রয়েছে, যদি ত্রুটি দেখা দেয় তবে এখনও ত্রুটি দেখানোর বিকল্প রয়েছে। ক্রোন জব বা স্বয়ংক্রিয় পরীক্ষার জন্য দরকারী।

ইউনিক্স

সমস্ত আউটপুট দমন করতে:

curl --silent --output /dev/null http://example.com

আউটপুট দমন করতে কিন্তু তবুও ত্রুটি দেখা দিলে তা দেখাতে:

curl --silent --output /dev/null --show-error --fail http://example.com

উইন্ডোজ

সমস্ত আউটপুট দমন করতে:

curl --silent --output nul http://example.com

আউটপুট দমন করতে কিন্তু তবুও ত্রুটি দেখা দিলে তা দেখাতে:

curl --silent --output nul --show-error --fail http://example.com

প্যারামিটারগুলি ব্যাখ্যা করা হয়েছে

--silentডাউনলোড-ইন-অগ্রগতি পরিসংখ্যানকে দমন করে (তবে এখনও এইচটিএমএল আউটপুট দেখিয়ে দেবে)
--output /dev/nullসফল আউটপুট
--show-errorত্রুটিগুলি লুকিয়ে রাখে , silentমোড সক্ষম থাকলেও
--failত্রুটি বাড়িয়ে তুলবে এইচটিটিপি প্রতিক্রিয়াটি কেবল ডিএনএস / এর পরিবর্তে একটি ত্রুটি কোড (404, 500 ইত্যাদি) হয় if টিসিপি ত্রুটি।


আপডেট: আমি বুঝতে পারি যে মূল লেখক সবকিছু চুপ করে না দিয়ে একটি অনুরোধের শিরোনাম এবং প্রতিক্রিয়া কোডটি পরীক্ষা করতে চেয়েছিলেন । কীভাবে এটি করা যায় তার বিশদ জানতে সমেলের উত্তর দেখুন ।


2
অ-বহনযোগ্য NULএবং এর উপর নির্ভর করে /dev/null। ব্যবহার -sIXGETকরা একটি ভাল বিকল্প আইএমও।
বিনকি

1
@ বিঙ্কি মন্তব্যের জন্য ধন্যবাদ - তারা আসলে বিভিন্ন কাজ করে। এছাড়াও উপলব্ধি করা হয়েছে যে ওপি শিরোনামগুলি যা আমার সমাধানে প্রদর্শিত হয় তা পরীক্ষা করতে চেয়েছিল to আমি আমার উত্তর আপডেট করেছি।
সাইমন পূর্ব

1
আমি অনুমান করি যে ওপি'র পোস্টটি পুনরায় পড়ার সাথে তারা বলে নি যে তারা কেবল শিরোনাম দেখতে চেয়েছিল। তারা সম্ভবত curl -vo/dev/null/ curl -voNUL… এর সন্ধান করছিল এবং আমি জানি না যে এর কোনও পোর্টেবল বৈকল্পিক আছে কি না, এইচআরএম… ;-)।
বিনকি

- ফেইলের জন্য একটি শর্ট কমান্ড আছে? আমি মনে করি
এসএসই হ'ল আমাদের

হ্যাঁ, হল: curl -Ssfo /dev/null url। তবে ভবিষ্যতের রক্ষণাবেক্ষণকারীদের সাথে সুন্দর হোন।
অমিত নাইডু

28

আপনি যখন শিরোনাম প্রদর্শন করতে চান তবে প্রতিক্রিয়াটির অংশটি গোপন করুন, আপনি ব্যবহার করতে চাইবেন:

curl -sIXGET http://somedomain.com/your/url

আমি curl -I http://somedomain.com/your/urlকেবল প্রতিক্রিয়া শিরোনাম দেখানোর জন্য ব্যবহার করছিলাম । যদিও এর সাথে সমস্যাটি হ'ল এটি সেই HEADপদ্ধতিটি ব্যবহার করে অনুরোধ করে যা আপনি যখন কোনও GETঅনুরোধের প্রতিক্রিয়া জানায় এমন কোনও API কল পরীক্ষা করতে চান তখন কোনও ভাল হয় না । এটি যা এর -X GETজন্য, এটি একটিতে অনুরোধ পরিবর্তন করে GET

সুতরাং, সংক্ষেপে:

-sচামড়া আউটপুট থেকে প্রগতি দণ্ডগুলি (বিশেষ করে দরকারী যখন অন্য প্রোগ্রামে বংশীধ্বনিতুল্য)
-Iশো হেডার (কিন্তু একটি তোলে HEADঅনুরোধ)
-XGETধর্মান্তরিত একটি ফিরে অনুরোধ GETঅনুরোধ

দেখুন: http://www.woolie.co.uk/article/curl-full-get-request-rodping-body/


2
আসলেই জটিল; curl -iঠিক একই জিনিস করে।
bfontaine

4
না, -iশরীরের পাশাপাশি আউটপুটটিতে এইচটিটিপি-শিরোনাম অন্তর্ভুক্ত করে। চেষ্টা করে দেখুন curl -i http://google.comহিসাবে একই নয়curl -IXGET http://google.com
samael

আমার উদ্দেশ্যে (এবং ওপি'র) curl -I urlপর্যাপ্ত এবং একই প্রভাব রয়েছে। আমার কেবল ইউআরএলটি প্রতিক্রিয়াশীল কিনা তা খতিয়ে দেখার দরকার ছিল। এই প্রশ্নটিও কেবল শরীরকে দমন করার বিষয়ে ছিল যা HEADভাল করে।
অমিত নাইডু
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.