উত্তর:
এটা চেষ্টা কর:
$ LOCATION=`curl -I http://raspberrypi.stackexchange.com/a/1521/86 | perl -n -e '/^Location: (.*)$/ && print "$1\n"'`
$ echo "$LOCATION"
/questions/1508/how-do-i-access-the-distributions-name-on-the-command-line/1521#1521
গুগল পুনর্নির্দেশ URL গুলি কিছুটা আলাদা। তারা একটি জাভাস্ক্রিপ্ট পুনর্নির্দেশ ফিরিয়ে দেয়, যা সহজেই প্রক্রিয়া করা যায়, তবে কেন মূল URL এবং সমস্ত একসাথে কার্লের জন্য প্রক্রিয়া করা যায় না?
$ URL="http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CFAQFjAA&url=http%3A%2F%2Fwww.raspberrypi.org%2F&ei=rv8oUODIIMvKswa4xoHQAg&usg=AFQjCNEBMoebclm0Gk0LCZIStJbF04U1cQ"
$ LOCATION=`echo "$URL" | perl -n -e '/url=([a-zA-Z0-9%\.]*)/ && print "$1\n"'`
$ echo "$LOCATION"
http%3A%2F%2Fwww.raspberrypi.org%2F
$ echo "$LOCATION" | perl -pe 's/%([0-9a-f]{2})/sprintf("%s", pack("H2",$1))/eig'
http://www.raspberrypi.org/
আরও সহজ উপায় আছে
curl -w "%{url_effective}\n" -I -L -s -S $URL -o /dev/null
এটি মুদ্রণ হবে
http://raspberrypi.stackexchange.com/questions/1508/how-do-i-access-the-distributions-name-on-the-command-line/1521
ইউআরএল জন্য
http://raspberrypi.stackexchange.com/a/1521/86
পুনর্নির্দেশগুলি অনুসরণ করতে এবং সমাপ্তির পরে ভেরিয়েবলগুলি মুদ্রণ করতে কার্ল কনফিগার করা যেতে পারে। সুতরাং আপনি যা জিজ্ঞাসা করছেন তা নিম্নলিখিত কমান্ড দিয়ে অর্জন করা যেতে পারে:
curl -Ls -w %{url_effective} -o /dev/null https://google.com
ম্যান পৃষ্ঠাটি এর মতো প্রয়োজনীয় প্যারামিটারগুলি ব্যাখ্যা করে:
-L, --location Follow redirects (H)
-s, --silent Silent mode (don't output anything)
-w, --write-out FORMAT Use output FORMAT after completion
-o, --output FILE Write to FILE instead of stdout
বা এটি চেষ্টা করুন
curl -s -o /dev/null -I -w "HTTP_CODE: %{http_code}\nREDIRECT_URL: %{redirect_url}\n" http://raspberrypi.stackexchange.com/a/1521/86
curl -s -I 'http://yoururl'
বিষয়বস্তু অধ্যয়ন করতে পারেন curl -s 'http://yoururl'
(আপনি দেখতে পাবেন যে গুগল পুনঃনির্দেশের জন্য একটি সাধারণ জাভাস্ক্রিপ্ট ব্যবহার করে)।
প্যারামিটারগুলি -L (--location)
এবং -I (--head)
এখনও অবস্থান-url- এ অপ্রয়োজনীয় হেড-অনুরোধ করছে।
আপনি যদি নিশ্চিত হন যে আপনার একাধিক পুনর্নির্দেশ হবে না, তবে অনুসরণের অবস্থানটি অক্ষম করা এবং কার্ল-ভেরিয়েবল% {redirect_url use ব্যবহার করা ভাল}
এই কোডটি নির্দিষ্ট ইউআরএল-এ কেবল একটি হেড-অনুরোধ করে এবং অবস্থান-শিরোলেখ থেকে redirect_url নেয়:
curl --head --silent --write-out "%{redirect_url}\n" --output /dev/null "https://goo.gl/QeJeQ4"