#!/usr/bin/env python3
"""
Script para ejecutar URL usando solo requests (sin curl)
"""

import requests
import sys
from datetime import datetime

def ejecutar_url_requests():
    """Ejecuta la URL usando requests."""
    url = "https://gps.divisiongps.com.ar/index.php?r=cron/procesarComandosPendientes"
    
    try:
        print(f"Ejecutando: {url}")
        print(f"Timestamp: {datetime.now().strftime('%Y-%m-%d %H:%M:%S')}")
        
        headers = {
            'User-Agent': 'Python-CronExecutor/1.0'
        }
        
        response = requests.get(
            url,
            headers=headers,
            timeout=30,
            allow_redirects=True
        )
        
        # Verificar que la respuesta sea exitosa
        response.raise_for_status()
        
        print(f"✅ Ejecutado exitosamente")
        print(f"Código HTTP: {response.status_code}")
        print(f"Tamaño respuesta: {len(response.text)} caracteres")
        
        if response.text.strip():
            # Mostrar los primeros 300 caracteres de la respuesta
            contenido = response.text.strip()
            if len(contenido) > 300:
                print(f"Respuesta: {contenido[:300]}...")
            else:
                print(f"Respuesta: {contenido}")
        else:
            print("Respuesta vacía (normal para muchos crons)")
            
    except requests.exceptions.Timeout:
        print("❌ Timeout - La operación tardó demasiado (>30s)")
    except requests.exceptions.ConnectionError:
        print("❌ Error de conexión - Verificar conectividad a internet")
    except requests.exceptions.HTTPError as e:
        print(f"❌ Error HTTP: {e}")
    except requests.exceptions.RequestException as e:
        print(f"❌ Error en la petición: {e}")
    except Exception as e:
        print(f"❌ Error inesperado: {e}")

if __name__ == '__main__':
    ejecutar_url_requests()