কীভাবে কোনও ইউআরএল থেকে প্রতিক্রিয়া পাবেন?


23

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

আমি ইন্টারনেটে কিছু ইঙ্গিতগুলি সন্ধান করার চেষ্টা করেছি, তবে যা কিছু পেয়েছি তা ইউআরএল উপস্থিত আছে কিনা তা যাচাই করে নেওয়া।

আমি প্রথম চেষ্টা করেছিলাম wget

wget -S --spider https://genesis-dev.webbank.ssmb.com:21589/gop-ui/app.jsp 2>&1 | awk '/^  /'
if [ $? -ne 0 ]
then echo "Server is UP"
else
echo "Server is down"
fi

আমার পরবর্তী প্রচেষ্টা ছিল curl

curl -ivs  https://genesis-dev.webbank.ssmb.com:21589/opconsole-sit/opconsole.html#
if [ $? -ne 0 ]
then echo "Server is UP"
else
echo "Server is down"
fi

তবে, উভয়ই URL টির অস্তিত্ব যাচাই করছে যা প্রতিক্রিয়া নয়।


1
কার্ল ম্যানটির জন্য কেবল একবার নজর দেওয়া হয়েছে এবং মনে হচ্ছে আপনি যদি এই ফাইলটি ব্যবহার করেন - ফেইল পতাকা ব্যবহার করেন তবে সমস্যাটির কথা বলে কোনও পৃষ্ঠা ফেরত দেওয়ার পরিবর্তে এটি 22 এর একটি প্রস্থান কোড ফেরত দেবে, সুতরাং কেবল '200 ওকে' একটি ফেরতের মান দেবে 0. এর
গাই

উত্তর:


20

curl -Is http://www.yourURL.com | head -1200 OKযে কোনও ইউআরএল পরীক্ষা করতে আপনি এই কমান্ডটি চেষ্টা করতে পারেন। স্ট্যাটাস কোডটির অর্থ হল যে অনুরোধটি সফল হয়েছে এবং URL টি পৌঁছনীয় ha

আপনি ইউআরএল উপলব্ধতা পরীক্ষা করতে পারেন এবং telnetকমান্ড ব্যবহার করে প্রতিক্রিয়া কোড পেতে পারেন

telnet www.yourURL.com 80

80 হ'ল বন্দর নম্বর।


ভাগ করে নেওয়ার জন্য ধন্যবাদ. এটির পাশাপাশি চেষ্টা করেও, তবে আমি মনে করি এটি কেবলমাত্র অস্তিত্বও পরীক্ষা করছে। check sh q.sh URL টি যাচাই করতে হবে: google.com/akash google.com/akash বিদ্যমান তবে এটি ব্রাউজারে ত্রুটি দিচ্ছে :: 404। এটা একটা ত্রুটি।
আকাশ

@ আকাশ: আপনি কি আপনার ব্রাউজারের মাধ্যমে সেই লিঙ্কটি অ্যাক্সেস করতে পারবেন?
থিশি

এটি যদি এই লিঙ্কটি হয় তবে আপনি কথা বলছেন - www.wwww.google.com/akash-- তবে আর নয় - এটি আমার একটি ত্রুটি দেয়: "404 পাওয়া যায়নি"
আকাশ

হ্যাঁ, যদি সেই URL টি বিদ্যমান না থাকে তবে এটি হওয়া উচিত :) আপনি আর কী আশা করছেন ???
থিশি

তবে- এটি আমার কাছে জিভভিং - এটি বিদ্যমান .. নীচে কোডটি :: $ vi q.sh #! / Bin / ksho আপনার ইউআরএল "পড়ুন ইউআরএল কার্ল পড়ুন-এল" এবং url "| মাথা -1 যদি [$? -eq 0] তারপরে "অস্তিত্ব" অন্য প্রতিধ্বনিত করুন "আমি অস্তিত্ব নেই" ফাই প্রতিধ্বনি করুন আমি যখন এটি চালাব :: $ sh q.sh আপনার url www.google.com/akash অস্তিত্ব দিন তবে এটি ELSE- এ যেতে হবে ..
আকাশ

5

আপনি নিম্নলিখিত করতে পারেন

#!/bin/bash

read -p "URL to check: " url
if curl --output /dev/null --silent --head --fail "$url"; then
  printf '%s\n' "$url exist"
else
  printf '%s\n' "$url does not exist"
fi

ifবিবৃতি প্রয়োজনীয় যদিও, আমি তাদের এখানে রাখুন মাত্র স্ক্রিপ্ট প্রবাহ চিত্রিত করা হয় না।এখানে চিত্র বর্ণনা লিখুন


আমি এটি চেষ্টা করেছিলাম এবং এটি আমার প্রত্যাশিত ফলাফল দিচ্ছে না।
আকাশ

check sh q.sh URL টি যাচাই করতে হবে: www.google.com% s \ n www.google.com অস্তিত্ব নেই
আকাশ

@ আকাশ আপডেট হওয়া উত্তর দেখুন See আপনার স্ক্রিপ্টে কোনও এক্সটেনশন রাখবেন না। এটিও চালিয়ে যান ./checkURL। আশা করি এটি সহায়তা করে
ভ্যালেন্টাইন বাজরামি

প্রকল্প-উদ্দেশ্য এর জন্য এটি প্রয়োজন .. ভাবেন- এটির মতো চালানোর অ্যাক্সেস নেই .. :(
আকাশ

কি %s\n আপনি সেখানে রাখা? আপনার মন্তব্য? প্রজেক্ট-উদ্দেশ্য কী? আপনি যা অর্জন করতে চাইছেন তার বিষয়ে আপনার আরও নির্দিষ্ট হওয়া উচিত।
ভ্যালেন্টাইন বাজরামি

1

নিম্নলিখিত জিনিসটি আমার পক্ষে কাজ করেছে ...

status="$(curl -Is http://www.google.com | head -1)"
validate=( $status )
if [ ${validate[-2]} == "200" ]; then
  echo "OK"
else
  echo "NOT RESPONDING"
fi

@ থুশি যা লিখেছেন তা থেকে চেষ্টা করেছি।


0

আপনি যদি pingURL টি হন তবে এটি আপনাকে একটি প্রতিক্রিয়াও জানাবে

ping -c 5 www.google.com

-c5 এর সময়সীমা শেষ হওয়ার আগ পর্যন্ত কোথায় গণনা করা হবে।

আমাকে যা পরামর্শ দেওয়া হয়েছে তার আলোকে nmapযদি আপনার সিস্টেমে এটি প্যাকেজ ইনস্টল করা থাকে তবে তা কাজ করতে পারে। curlএকটি ভাল বিকল্প হতে পারে, তবে তবুও এখানে ব্যবহার করে একটি উদাহরণ দেওয়া হয়েছে nmap:

nmap -p 80 -sT www.google.com


pingএকটি ICMPবার্তা প্রেরণ করে এবং অবশ্যই পোর্ট 80বা ব্যবহার করে না 443। এছাড়াও কিছু সার্ভারগুলি পিংয়ের অনুরোধগুলি অবরুদ্ধ করে দেয় যা চেষ্টাটিকে এখনও বিশ্বাসযোগ্য নয়।
ভ্যালেন্টাইন বাজরামি

আপনি পাশাপাশি পোর্ট পিং করতে পারেন। আমি
এনএমএপ

nmap -p 80 -sT www.google.com পোর্ট ৮০ পিং করবে। আমি আমার পিসিতে অ্যাক্সেস পেয়ে খুব শীঘ্রই আমার উত্তরটি সম্পাদনা করব
ryekayo

1
nmapআবার অনেক * নিক্স সিস্টেমে একটি অ ডিফল্ট প্যাকেজ is curlবেস সিস্টেমের সাথে প্রেরণ করা বেশি সাধারণ। nmapস্ট্যান্ডার্ড * নিক্স সরঞ্জাম দিয়ে অর্জন করা যায় এমন কিছু অর্জনের জন্য আপনাকে এখনও ইনস্টল করতে হবে।
ভ্যালেন্টাইন বাজরামি

1
বোঝা গেছে, তথ্যের জন্য ধন্যবাদ। আমি আমার উত্তর আপডেট করেছি
রাইকায়ো

0

বেশিরভাগ সময় কার্ল https এ কাজ করে না আপনি যদি "কার্ল - রূপান্তর" মাধ্যমে পরীক্ষা করতে পারেন তা পরীক্ষা করতে চান তবে আপনি নীচের ব্যবহার করতে পারেন এমন ক্ষেত্রে https বিকল্পটি দেখতে পাবেন না

wget --post-data '{"name":"Radha", "Car": "Jaquar"}' --header "Content-Type: application/json" --no-check-certificate https://yourrequiredURI


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