Primeiro commit
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
import subprocess
|
||||
import platform
|
||||
import utilidades
|
||||
|
||||
endereco = input("Digite um endereço IP: ")
|
||||
|
||||
if not utilidades.validar_ip(endereco):
|
||||
print("O endereço IP é inválido!")
|
||||
else:
|
||||
print(f"\n IP Validado! Testando conectividade para {endereco}...\n")
|
||||
|
||||
parametro = '-n' if platform.system().lower() == 'windows' else '-c'
|
||||
|
||||
# MUDANÇA 1: O comando agora é uma lista de strings, não um texto único.
|
||||
comando = ['ping', parametro, '1', endereco]
|
||||
|
||||
try:
|
||||
# MUDANÇA 2: Usamos subprocess.run()
|
||||
# capture_output=True impede que o texto padrão do ping suje a tela.
|
||||
# text=True garante que o resultado venha em formato de texto.
|
||||
resultado = subprocess.run(comando, capture_output=True, text=True)
|
||||
|
||||
print("\n" + "-" * 40)
|
||||
|
||||
# MUDANÇA 3: O Exit Code agora é acessado via resultado.returncode
|
||||
if resultado.returncode == 0:
|
||||
print(f" SUCESSO: O IP '{endereco}' está ONLINE e respondeu.")
|
||||
# Bônus: Podemos acessar o texto real da resposta do terminal!
|
||||
# print(" Detalhes do teste:", resultado.stdout.strip())
|
||||
else:
|
||||
print(f" FALHA: O IP '{endereco}' está OFFLINE ou não respondeu.")
|
||||
|
||||
print("-" * 40)
|
||||
|
||||
except Exception as e:
|
||||
print(f" ERRO NO SISTEMA: Falha ao tentar executar o comando de ping. Detalhes: {e}")
|
||||
Reference in New Issue
Block a user