Chrome ব্যবহারের অনুরূপ জিইটি অনুরোধ পেতে কীভাবে কার্ল ব্যবহার করবেন?


87

আমার একটি ওয়েব এপিআই আছে http://something.com/apiএবং আমি প্রতিক্রিয়া বডি পেতে জিইটি ব্যবহার করতে চাই।

এটি আমার আদেশ:

curl "http://something.com/api"

অবশ্যই, এটি ব্যর্থ হয় এবং একটি ত্রুটি বার্তা দেয়।

আমি যখন ক্রোম ব্যবহার করি এবং উপরের ইউআরএলটি ইনপুট করি, ততক্ষণে সঠিক। তবে আমি ফায়ারফক্সের সাথে একই জিনিস করি, ইউআরএল আমাকে একই ত্রুটি বার্তা দেয়। আমি ক্রোম এক্সটেনশন ডিএইচসি দিয়ে ক্রিয়াটি পুনরাবৃত্তি করার চেষ্টা করি, অনুরোধটি আবার সঠিক প্রতিক্রিয়া দেয়। কিছু অনুসন্ধানের পরে, আমি বিশ্বাস করি যে কার্ল বিকল্পটি --user-agentএকটি পার্থক্য করে। ব্যবহারকারীকে এজেন্টকে Chrome এ সেট করার সঠিক উপায় কী? নাকি এই কথাটি নয়, সমস্যাটি অন্যান্য ক্ষেত্র থেকে আসে? আপনাকে অনেক ধন্যবাদ.

উত্তর:


123

আপনার যদি কার্ল অনুরোধে ব্যবহারকারী শিরোনামের স্ট্রিং সেট করতে হয় তবে আপনি -Hব্যবহারকারী এজেন্ট সেট করতে বিকল্পটি ব্যবহার করতে পারেন :

curl -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36" http://stackoverflow.com/questions/28760694/how-to-use-curl-to-get-a-get-request-exactly-same-as-using-chrome

চার্লস প্রক্সি এর মতো প্রক্সি সরঞ্জাম ব্যবহার করা আপনাকে যা জিজ্ঞাসা করছে তেমন কিছু করার জন্য সত্যই সহায়তা করে। উদাহরণস্বরূপ এই এসও পৃষ্ঠাটি ব্যবহার করে আমি এখানে যা করছি (চার্লস সংস্করণ 3.10 ব্যবহার করে জুলাই ২০১৫ পর্যন্ত):

  1. চার্লস প্রক্সি চলমান পান
  2. ব্রাউজার ব্যবহার করে ওয়েব অনুরোধ করুন
  3. চার্লস প্রক্সি মধ্যে কাঙ্ক্ষিত অনুরোধ সন্ধান করুন
  4. চার্লস প্রক্সি অনুরোধে ডান ক্লিক করুন
  5. 'অনুলিপি সিআরএল অনুরোধ' নির্বাচন করুন

চার্লস 3.10.2 এ সিআরএল অনুরোধের উদাহরণটি অনুলিপি করুন

আপনার এখন একটি সিআরএল অনুরোধ রয়েছে যা আপনি কোনও টার্মিনালে চালাতে পারেন যা আপনার ব্রাউজারের অনুরোধটি মিরর করবে। এই পৃষ্ঠায় আমার অনুরোধটি দেখতে কেমন তা হল (কুকির শিরোলেখ অপসারণ সহ):

curl -H "Host: stackoverflow.com" -H "Cache-Control: max-age=0" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8" -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36" -H "HTTPS: 1" -H "DNT: 1" -H "Referer: https://www.google.com/" -H "Accept-Language: en-US,en;q=0.8,en-GB;q=0.6,es;q=0.4" -H "If-Modified-Since: Thu, 23 Jul 2015 20:31:28 GMT" --compressed http://stackoverflow.com/questions/28760694/how-to-use-curl-to-get-a-get-request-exactly-same-as-using-chrome

এটা এত ভাল হবে যদি চার্লস সমর্থন এক বারেই অনুলিপি / একাধিক কার্ল অনুরোধ রপ্তানি
তিমিরে

আরকিজিআইএস এর মতো কিছু এপিআইগুলি কেবল Accept: text/htmlএইচটিএমএল আউটপুট জোর করার জন্য শিরোনামকে সম্মান জানায় ।
স্পেনটিচি

4
কার্ল -A এজেন্ট_নাম একটি শর্ট কাট
ppostma1

26

Chrome বিকাশকারী সরঞ্জামগুলি খুলুন, নেটওয়ার্ক ট্যাবে যান, আপনার অনুরোধ করুন (পৃষ্ঠাটি রিফ্রেশ হলে আপনার "সংরক্ষণ সংরক্ষণ লগ" চেক করতে হবে)। বামদিকে অনুরোধটি সন্ধান করুন, "সিআরএল হিসাবে অনুলিপি করুন", ডান ক্লিক করুন।


তবে "সিআরএল হিসাবে অনুলিপি করুন" তে কুকি কয়েক মিনিটের মধ্যেই শেষ হয়। কমপক্ষে বেশিরভাগ সাইটের ক্ষেত্রে। নতুন কুকি আনতে আমি কীভাবে এটি স্বয়ংক্রিয় করতে পারি?
গৌরব কানসাল

6

এইচটিটিপি শিরোনামগুলি পরীক্ষা করুন যা ক্রোম অনুরোধের সাথে প্রেরণ করছে (ব্রাউজার এক্সটেনশান বা প্রক্সি ব্যবহার করে) তারপরে সিআরএল দিয়ে একই শিরোনামগুলি প্রেরণের চেষ্টা করুন - সম্ভবত কোনও শিরোনাম (গুলি) অনুরোধটিকে কাজ করে না তা পর্যালোচনা করার সময় পর্যন্ত একবারে one

কার্ল -A [ব্যবহারকারী-এজেন্ট]-এইচ [শিরোনাম] " http://something.com/api "


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