প্রক্সি সঠিকভাবে কাজ করছে কিনা পরীক্ষা করবেন?


0


আমি এই স্ক্রিপ্ট ব্যবহার করে প্রক্সি সঠিকভাবে কাজ করছে কিনা পরীক্ষা করার চেষ্টা করছি। সমস্যাটি যে "প্রক্সি কাজ করছে" প্রতিধ্বনি করে কোন ব্যাপারই না। কোন ধারনা দয়া করে?

export http_proxy='http://proxy.test.cz:1234/'

OUTPUT_FILE=/tmp/$$.txt
    wget -nv --proxy-user=test --proxy-password=test google.com > ${OUTPUT_FILE} 2>&1

grep -q '<H1>You cant use internet</H1>' ${OUTPUT_FILE}
if [ "$?" -eq '0' ]
then
    echo "Proxy isnt working. " | mail -s "Proxy isnt working" -r "No-reply<no-reply@mail.cz>" test@mail.cz
else
    echo "Proxy is working"
fi

rm -f /tmp/$$.txt

if [ $?...] একটি শেল antipattern হয়; শুধু পরিবর্তে সরাসরি কমান্ড পরীক্ষা। এবং কোন প্রয়োজন নেই $OUTPUT_FILE; শুধু একটি পাইপ ব্যবহার করুন: if wget ... | grep ....; then। সম্ভবত আপনার পরীক্ষা ভুল, যেমন। ভুল বানান দ্বারা নারা অথবা অন্যকিছু.
Toby Speight

উত্তর:


2

যদিও কিছুটা পুরাতন প্রশ্ন, তবে এটি এখনও অন্য একটি উত্তর দেওয়ার জন্য কিছু মান থাকতে পারে। তাই এখানে আমার খনি:

set_proxies() {
    export http_proxy=http://proxy.example.com:998
    export HTTP_PROXY=${http_proxy}
    export https_proxy=http://proxy.example.com:999
    export HTTPS_PROXY=${https_proxy}
    export ftp_proxy=http://proxy.example.com:998
    export FTP_PROXY=${ftp_proxy}
    export socks_proxy=socks://proxy.example.com:9999
    export SOCKS_PROXY=${socks_proxy}
    export no_proxy=localhost,127.0.0.1,.docker.io,192.168.9.100
    export NO_PROXY=${no_proxy}        
    export ALL_PROXY_NO_FALLBACK=1
    export all_proxy=socks5://proxy.example.com:9999   
}

URL='www.google.com'

curl -s -m 2 $URL > /dev/null

if [ $? == 0 ] then
    STATUS="No Corporate Proxy"
else
    set_proxies
    STATUS="Behind Corporate proxy"
fi
echo $STATUS

0

সমস্যার কারণ কোট প্রায় $? যদি চেক ইন:

if [ "$?" -eq '0' ]

যখন grep আপনার সন্ধান করা স্ট্রিংটি খুঁজে পায়নি, তখন রিটার্ন কোড ছিল 1. সুতরাং যদি চেকটি সমান হয় তবে:

if [ "1" -eq '0' ]

যা সবসময় মিথ্যা, তাই আপনি "প্রক্সি কাজ করছে" পেতে।

ব্যবহার

if [ $? -eq 0 ]

পরিবর্তে.


হাই, উত্তরটির জন্য ধন্যবাদ, কিন্তু এটি সাহায্য করে নি।
Radek Pulkrabek

0

আমি এই ভাবে সমাধান করেছি:

export http_proxy='http://proxy.test.cz:1234/'
URL='www.google.com'

wget -q --proxy-user=test --proxy-password=test --spider $URL
if [ $? = 1 ]
then
    STATUS= echo "Proxy isn't working"

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