Check curl with and without ending /

This commit is contained in:
Maniack Crudelis 2016-08-09 00:43:22 +02:00
parent eddc8a44f4
commit a56e02abac

View file

@ -35,7 +35,6 @@ CHECK_URL () {
if [ "$use_curl" -eq 1 ]
then
ECHO_FORMAT "\nAccès par l'url...\n" "white" "bold"
rm -f "$script_dir/url_output" # Supprime le précédent fichier html si il est encore présent
if [ "$no_lxc" -eq 0 ]; then
IP_CURL="$(cat "$script_dir/sub_scripts/lxc_build.sh" | grep PLAGE_IP= | cut -d '"' -f2).2"
else
@ -43,11 +42,31 @@ CHECK_URL () {
fi
echo -e "$IP_CURL $DOMAIN #package_check\n$IP_CURL $SOUS_DOMAIN #package_check" | sudo tee -a /etc/hosts > /dev/null # Renseigne le hosts pour le domain à tester, pour passer directement sur localhost
curl_error=0
curl -LksS -w "%{http_code};%{url_effective}\n" $SOUS_DOMAIN$CHECK_PATH -o "$script_dir/url_output" > "$script_dir/curl_print"
for i in 0 1
do # 2 passes, pour effectuer un test avec le / final, et un autre sans.
if [ "$i" -eq 0 ]; then # Test sans / final.
if [ "${CHECK_PATH:${#CHECK_PATH}-1}" == "/" ] # Si le dernier caractère est un /
then
MOD_CHECK_PATH="${CHECK_PATH:0:${#CHECK_PATH}-1}" # Supprime le /
else
MOD_CHECK_PATH=$CHECK_PATH
fi
fi
if [ "$i" -eq 1 ]; then # Test avec / final.
if [ "${CHECK_PATH:${#CHECK_PATH}-1}" != "/" ] # Si le dernier caractère n'est pas un /
then
MOD_CHECK_PATH="$CHECK_PATH/" # Ajoute / à la fin du path
else
MOD_CHECK_PATH=$CHECK_PATH
fi
fi
rm -f "$script_dir/url_output" # Supprime le précédent fichier html si il est encore présent
curl -LksS -w "%{http_code};%{url_effective}\n" $SOUS_DOMAIN$MOD_CHECK_PATH -o "$script_dir/url_output" > "$script_dir/curl_print"
if [ "$?" -ne 0 ]; then
ECHO_FORMAT "Erreur de connexion...\n" "lred" "bold"
curl_error=1
fi
ECHO_FORMAT "Adresse de test: $SOUS_DOMAIN$MOD_CHECK_PATH\n" "white"
ECHO_FORMAT "Adresse de la page: $(cat "$script_dir/curl_print" | cut -d ';' -f2)\n" "white"
HTTP_CODE=$(cat "$script_dir/curl_print" | cut -d ';' -f1)
ECHO_FORMAT "Code HTTP: $HTTP_CODE\n" "white"
@ -70,6 +89,7 @@ CHECK_URL () {
grep "<body" -A 20 "$script_dir/url_output" | sed 1d | tee -a "$RESULT"
echo -e "\e[0m"
fi
done
sudo sed -i '/#package_check/d' /etc/hosts # Supprime la ligne dans le hosts
else
ECHO_FORMAT "Test de connexion annulé.\n" "white"