Geekflare est soutenu par notre public. Nous pouvons gagner des commissions d'affiliation en achetant des liens sur ce site.
Partager sur:

Comment être averti lorsque votre site tombe en panne à l'aide de l'API Geekflare ?

Comment-être-notifié-lorsque-votre-site-s'arrête-en-utilisant-Geekflare-API
Scanner de sécurité des applications Web Invicti – la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

Les utilisateurs essaient d'accéder à votre site, vous savez ce qui s'est passé ? Il ne s'affiche pas. Il y a des erreurs que vous n'aviez pas trouvées auparavant. Les utilisateurs sont frustrés et quittent votre site. Donc, vous avez perdu des utilisateurs fidèles avec.

Comment résoudre ce problème? Comment connaître le site down avant que vos utilisateurs ne le trouvent ?

Il y a deux manières possibles :

Si cela ne vous dérange pas de dépenser quelques dollars, vous pouvez opter pour une solution de surveillance comme Gâteau d'état ou autres mentionné ici.

Cependant, si vous êtes un développeur ou si vous n'êtes pas prêt à dépenser mensuellement, vous pouvez profiter de API Geekflare - Le site est-il actif ?

Le site est-il actif ? L'API vérifie si un site est actif ou inactif à partir de différents emplacements.

Laissez-moi vous montrer du code Python qui vous avertit immédiatement lorsque votre site tombe en panne via Gmail.

Commençons par explorer le Le site est-il en place? API.

Is Site Up? API

Avant de vérifier l'API, nous devons installer un package appelé requests pour travailler avec les API en Python. Mais, il n'est pas nécessaire d'utiliser uniquement Python. Vous pouvez utiliser votre langue préférée. Mais assurez-vous de configurer les éléments requis pour effectuer une demande d'API.

Alors, pour ceux qui sont en utilisant Python installer la demandes paquet en utilisant la commande pip install requests

Terminez la configuration des autres langages (si vous choisissez un autre que Python) et passez aux étapes suivantes.

Maintenant, allez au API Geekflare Venez voir des images qui vous inspireront.

Geekflare-API-page

Vous pouvez trouver différents types d'API, y compris Is Site Up ? API, qui nous intéresse pour cet article. Pour utiliser les API Geekflare, nous avons besoin d'une clé API que nous pouvons obtenir en vous inscrivant à l'API Geekflare.

Cliquez sur le S'inscrire Gratuit sur l'en-tête et créez un compte dans l'API Geeflare.

Créer un compte API Geekflare

Une fois votre compte créé, vous serez redirigé vers le tableau de bord de l'API Geekflare. Dans le tableau de bord, vous trouverez la clé API et d'autres détails comme votre e-mail, votre plan actif, etc.,

Tableau de bord de l'API Geekflare

Vous pouvez copier la clé API. Maintenant, vérifions la documentation de Le site est-il actif API. Cliquez sur l'icône de votre profil et sur la documentation.

Documentation de l'API Geekflare

Il vous redirigera vers la documentation de l'API Geeflare.

Vous trouverez la État du site (le site est-il opérationnel ?) Documentation de l'API ici. Allez-y.

Vous obtiendrez l'utilisation de l'API sur le côté droit. Sélectionnez Python dans le Extraits de code section sur le côté droit. Choisissez votre langue préférée si vous n'utilisez pas Python.

Vous obtiendrez le code pour appeler le Le site est-il en place? API. Modifions-le un peu, ce qui nous aide à ajouter plus de code plus tard facilement. Jetez un œil au code modifié en Python.

import requests
import json

API_URL = "https://api.geekflare.com/up" 

def make_api_request(): 
    headers = { 
        'x-api-key': 'YOUR-API-KEY',
        'Content-Type': 'application/json'
    }
    payload = json.dumps({"url": "https://geekflare.com"})
    response = requests.request("POST", API_URL, data=payload, headers=headers) 
    return response.json()
    
if __name__ == '__main__': 
    data = make_api_request() 
    print(data)

Remplacez le VOTRE-API-KEY avec votre propre clé API à partir du tableau de bord de l'API Geekflare. Ce sera différent pour chaque utilisateur. Copiez la clé API du tableau de bord et ajoutez-la au code ci-dessus

Multi-emplacement

Le code ci-dessus vérifie si le site est opérationnel ou non à partir d'un seul emplacement (New York, États-Unis). Mais, nous pouvons le tester à partir d'un endroit différent avec proxyPays dans le corps de la requête.

Les autres emplacements disponibles sont l'Angleterre (Londres) et Singapour. On peut passer le proxyPays données avec l'URL du site comme suit.

{
    "proxyCountry": "uk",
    "url": "geekflare.com"
}

Vous pouvez passer n'importe quel endroit que vous préférez depuis le emplacements disponibles ici.

Nous avons complété le code pour faire une requête API qui récupère les données indiquant si un site est opérationnel ou non. Maintenant, il est temps d'écrire un peu plus de code qui envoie du courrier lorsque le site est en panne. Allons-y.

Receiving Email When the Site is Down

Vous pouvez trouver le tutoriel détaillé sur comment envoyer des e-mails via Gmail en Python Ou utilisez le code suivant, qui utilise un package appelé yagmail spécialement conçu pour envoyer des e-mails depuis Gmail.

Avant d'envoyer un e-mail via votre compte Gmail, nous devons activer le Autoriser les applications moins sécurisées option. Vous pouvez l'allumer ici.

Voyons le code.

def send_mail():
    gmail = yagmail.SMTP("gmail", "password")

    receiver = "receiver@domain.com"
    subject = "Testing Subject"
    body = "This is a testing mail"

    gmail.send(
        to=receiver,
        subject=subject,
        contents=body,
    )

Vous pouvez trouver le tutoriel complet de yagmail ici.

Maintenant, nous avons du code pour les requêtes API et l'envoi de courrier. Notre prochaine étape consiste à invoquer le envoyer un mail chaque fois que nous recevons un mauvais statut de la demande d'API.

Alors, comment savons-nous que notre site est en panne ou en hausse ? Lorsque nous demandons le Le site est-il en place? API, il répondra avec certaines données comme suit.

{
  "timestamp": 1671545622213,
  "apiStatus": "success",
  "apiCode": 200,
  "message": "Site is up.",
  "meta": {
    "url": "https://geekflare.com",
    "proxyCountry": "United Kingdom",
    "followRedirect": false,
    "test": {
      "id": "riah3dvi04ngaa1jw1b75smiibrus2a7"
    }
  },
  "data": {
    "statusCode": 200,
    "reasonPhrase": "OK"
  }
}

Vous trouverez une clé appelée message dedans. La valeur de la clé message nous dit si le site est en haut ou en bas. Ainsi, peut être deux types de messages comme suit.

  • Le site est en place.
  • Le site est en panne

Je pense que tu l'as maintenant. Donc, nous enverrons le courrier lorsque nous recevrons le message "Le site est en panne.”. Le code final ressemblera à ceci.

import requests
import json
import yagmail

API_URL = "https://api.geekflare.com/up"


def make_api_request():
    headers = {
        'x-api-key': 'YOUR-API-KEY',
        'Content-Type': 'application/json'
    }
    payload = json.dumps({
        "url": "https://geekflare.com",
        "followRedirect": True,
        "proxyCountry": "uk"
    })
    response = requests.request("POST", API_URL, data=payload, headers=headers)
    return response.json()


def send_mail(content):
    gmail = yagmail.SMTP("gmail", "password")
    receiver = "email@domain.com"
    subject = "Your Site is Down"
    gmail.send(
        to=receiver,
        subject=subject,
        contents=content,
    )


if __name__ == '__main__':
    data = make_api_request()
    message = data['message']

    ## seding the mail
    if message == 'Site is down':
        ## extracting the location and error
        location = data['meta']['proxyCountry']
        mail_content = "Your site is down due to unexpected error. See the useful data to resolve errors below.nn"
        if location:
            mail_content += f"{location}"
        mail_content += f"{data['data']['reasonPhrase']}nn"
        mail_content += "Check the error and resolve it as soon as possible."
        send_mail(mail_content)

Vous pouvez mettre à jour le contenu de l'e-mail selon vos préférences. Nous avons terminé l'envoi de courrier chaque fois que notre site est en panne.

Mais il y a toujours un problème.

Nous devons exécuter notre code pour vérifier si notre site est actif ou non. À quelle fréquence l'exécutons-nous ? Oui, cela dépend de votre préférence. Disons que nous devons le vérifier toutes les heures.

Nous pouvons ouvrir un terminal ou une ligne de commande et exécuter notre code toutes les heures. Mais c'est un processus répétitif et ennuyeux. Et parfois on peut oublier de le vérifier. Nous devons donc exécuter le code automatiquement toutes les heures.

Ici, nous pouvons utiliser le cron pour exécuter notre code toutes les heures automatiquement. Voyons comment le configurer.

Cron Setup

Voyons les étapes pour configurer le cron sur un système d'exploitation basé sur UNIX.

  • Borne ouverte.
  • Exécuter la commande crontab -e qui ouvre le fichier crontab dans le terminal.
  • Appuyez sur la touche i pour entrer dans le mode INSERT.
  • Maintenant, ajoutez le modèle cron, le répertoire Python et notre répertoire de fichiers de code. Vous voyez l'exemple ci-dessous.

0 * * * * /usr/bin/python3 /home/sample.py

Cron
Cron

Nous avons défini le modèle pour exécuter le code toutes les heures. Mais vous devrez peut-être le régler à chaque minute en fonction des besoins. Ainsi, vous pouvez utiliser le Gourou Crontab ou d'un autre outils cron pour générer le modèle cron pour le planning.

C'est ça. Nous avons terminé la configuration pour être averti lorsque le site est en panne.

Conclusion

Utilisez le cron pour planifier l'exécution périodique du script sur votre serveur cloud qui fonctionne 24h/7 et XNUMXj/XNUMX pour être averti par e-mail lorsque le site est en panne. L'automatisation fait gagner beaucoup de temps et fonctionne pour nous. Alors, utilisez-le comme nous l'avons fait dans cet article.

Bon suivi 🙂

Merci à nos commanditaires
Plus de bonnes lectures sur le développement
Alimentez votre entreprise
Certains des outils et services pour aider votre entreprise à se développer.
  • Invicti utilise Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, moteur de recherche et tout ce dont vous avez besoin pour collecter des données Web.
    Essayez Brightdata
  • Semrush est une solution de marketing numérique tout-en-un avec plus de 50 outils de référencement, de médias sociaux et de marketing de contenu.
    Essayez Semrush
  • Intruder est un scanner de vulnérabilités en ligne qui détecte les failles de cybersécurité de votre infrastructure, afin d'éviter des violations de données coûteuses.
    Essayez Intruder