@@ -86,44 +86,51 @@ def format_status_code(status_code):
8686 return Colors .BLUE + status_code + Colors .RESET
8787
8888def main ():
89- # Effacer le terminal avant d'afficher le logo
90- clear_terminal ()
91-
92- # Afficher le logo au démarrage
93- display_logo ()
94-
95- url = input ("Entrez l'URL que vous souhaitez tester (http ou https) : " ).strip ()
96-
97- # Vérifier si l'URL commence par http:// ou https://
98- if not url .startswith ("http://" ) and not url .startswith ("https://" ):
99- print ("L'URL doit commencer par 'http://' ou 'https://'." )
100- scheme = input (f"{ Colors .ORANGE } Voulez-vous utiliser 'http' ou 'https' ? (Entrez 'http' ou 'https') : { Colors .RESET } " ).strip ().lower ()
89+ while True :
90+ # Effacer le terminal avant d'afficher le logo
91+ clear_terminal ()
92+
93+ # Afficher le logo au démarrage
94+ display_logo ()
95+
96+ url = input ("Entrez l'URL que vous souhaitez tester (http ou https) : " ).strip ()
97+
98+ # Vérifier si l'URL commence par http:// ou https://
99+ if not url .startswith ("http://" ) and not url .startswith ("https://" ):
100+ print ("L'URL doit commencer par 'http://' ou 'https://'." )
101+ scheme = input (f"{ Colors .ORANGE } Voulez-vous utiliser 'http' ou 'https' ? (Entrez 'http' ou 'https') : { Colors .RESET } " ).strip ().lower ()
101102
102- if scheme in ['http' , 'https' ]:
103- url = scheme + "://" + url
103+ if scheme in ['http' , 'https' ]:
104+ url = scheme + "://" + url
105+ else :
106+ print ("Schéma non reconnu. Utilisation de 'https://' par défaut." )
107+ url = "https://" + url
108+
109+ # Obtenir le statut de l'URL initiale
110+ initial_status = get_initial_status (url )
111+
112+ if initial_status :
113+ print (f"Statut de l'URL de base ({ url } ) : { format_status_code (initial_status )} " )
114+
115+ # Obtenir les redirections
116+ redirections = get_redirections (url )
117+
118+ if redirections :
119+ print ("\n Liste des redirections :" )
120+ for i , (redirect_url , status_code ) in enumerate (redirections [:- 1 ]):
121+ print (f"Redirection { i + 1 } : URL = { redirect_url } , Statut HTTP = { format_status_code (status_code )} " )
122+
123+ # Dernière URL et son statut
124+ final_url , final_status = redirections [- 1 ]
125+ print (f"\n URL finale : { final_url } , Statut HTTP = { format_status_code (final_status )} " )
104126 else :
105- print ("Schéma non reconnu. Utilisation de 'https://' par défaut." )
106- url = "https://" + url
107-
108- # Obtenir le statut de l'URL initiale
109- initial_status = get_initial_status (url )
110-
111- if initial_status :
112- print (f"Statut de l'URL de base ({ url } ) : { format_status_code (initial_status )} " )
113-
114- # Obtenir les redirections
115- redirections = get_redirections (url )
116-
117- if redirections :
118- print ("\n Liste des redirections :" )
119- for i , (redirect_url , status_code ) in enumerate (redirections [:- 1 ]):
120- print (f"Redirection { i + 1 } : URL = { redirect_url } , Statut HTTP = { format_status_code (status_code )} " )
127+ print ("Aucune redirection trouvée ou erreur lors de la requête." )
121128
122- # Dernière URL et son statut
123- final_url , final_status = redirections [ - 1 ]
124- print ( f" \n URL finale : { final_url } , Statut HTTP = { format_status_code ( final_status ) } " )
125- else :
126- print ( "Aucune redirection trouvée ou erreur lors de la requête." )
129+ # Demander à l'utilisateur s'il souhaite analyser une autre URL ou quitter
130+ choice = input ( f" \n Souhaitez-vous analyser une autre URL ? (Entrez '1' pour continuer ou '2' pour quitter) : " ). strip (). lower ()
131+ if choice != '1' :
132+ print ( "Merci d'avoir utilisé l'application. Au revoir !" )
133+ break
127134
128135if __name__ == "__main__" :
129136 main ()
0 commit comments