Bagaimana Mendapatkan Pemberitahuan Saat Situs Anda Turun menggunakan Geekflare API?

Diterbitkan: 2021-08-22

Pengguna mencoba mengakses situs Anda, Anda tahu apa yang terjadi? Itu tidak muncul. Ada beberapa kesalahan yang tidak Anda ketahui sebelumnya. Pengguna menjadi frustrasi dan meninggalkan situs Anda. Jadi, Anda kehilangan beberapa pengguna setia dengannya.

Bagaimana cara mengatasi masalah ini? Bagaimana Anda mengetahui tentang situs sebelum pengguna Anda menemukannya?

Ada dua cara yang mungkin:

Jika Anda tidak keberatan menghabiskan beberapa $, Anda dapat menggunakan solusi pemantauan seperti StatusCake atau lainnya yang disebutkan di sini. Namun, jika Anda seorang pengembang atau tidak siap untuk menghabiskan bulanan, Anda dapat memanfaatkan Geekflare API – Apakah Situs Sudah Aktif?

Apakah Situs Up? API memeriksa apakah situs naik atau turun dari lokasi yang berbeda.

Mari saya tunjukkan kode Python yang memberitahu Anda segera ketika situs Anda turun melalui Gmail .

Mari kita mulai dengan menjelajahi Is Site Up? API.

Apakah Situs Up? API

Sebelum memeriksa API, kita perlu menginstal paket yang disebut permintaan untuk bekerja dengan API di Python. Tapi, tidak perlu menggunakan satu-satunya Python. Anda dapat menggunakan bahasa pilihan Anda. Namun, pastikan Anda menyiapkan hal-hal yang diperlukan untuk membuat permintaan API.

Jadi, bagi mereka yang menggunakan Python, instal paket permintaan menggunakan perintah pip install requests

Selesaikan penyiapan untuk bahasa lain (jika Anda memilih selain Python) dan lanjutkan ke langkah berikutnya.

Sekarang, buka halaman Geekflare API.

Halaman API Geekflare
Halaman API Geekflare

Anda dapat menemukan berbagai jenis API termasuk Is Site Up? API yang kami minati untuk artikel ini. Untuk menggunakan Geekflare API kita membutuhkan API Key yang bisa kita dapatkan melalui RapidAPI.

Klik tombol GET API KEY untuk membuka RapidAPI.

DAPATKAN Tombol KUNCI API
DAPATKAN Tombol KUNCI API

RapidAPI akan terbuka di tab baru sebagai berikut.

RapidAPI
RapidAPI

Kita perlu membuat akun untuk mendapatkan kunci API. Buat akun di RapidAPI jika Anda belum memilikinya. Masuk ke akun Anda setelah membuat akun.

Masuk RapidAPI
Masuk RapidAPI

Anda akan menemukan Is Site Up? API di atas semua Geekflare API yang kami cari. Jika tidak aktif, temukan menggunakan pencarian yang tersedia dan klik di atasnya.

Anda akan mendapatkan penggunaan API di sisi kanan. Pilih Python dengan Permintaan dari bagian Cuplikan Kode di sisi kanan.

Bahasa pemrograman
Bahasa pemrograman

Pilih bahasa pilihan Anda dengan paket masing-masing jika Anda tidak menggunakan Python.

Anda akan mendapatkan kode untuk memanggil Is Site Up? API. Mari kita ubah sedikit yang membantu kita menambahkan lebih banyak kode dengan mudah nanti. Lihat kode yang dimodifikasi dengan Python.

 import requests API_URL = "https://geekflare.p.rapidapi.com/up" def make_api_request(): headers = { 'content-type': "application/json", 'x-rapidapi-host': "geekflare.p.rapidapi.com", 'x-rapidapi-key': "YOUR_API_KEY" } payload = r'{"url": "https://www.geekflare.com"}' response = requests.request("POST", API_URL, data=payload, headers=headers) return response.json() if __name__ == '__main__': data = make_api_request() print(data)

Ganti API_KEY dengan kunci API Anda sendiri dari RapidAPI pada kode di atas. Ini akan berbeda untuk setiap pengguna. Anda akan menemukannya di RapidAPI di bawah bagian Parameter Header sebagai berikut.

kunci API
kunci API

Anda dapat menemukan kunci API yang sama dalam kode contoh seperti yang ditunjukkan di bawah ini.

kunci API
kunci API

Salin kunci dan tambahkan ke kode di atas

Multi-Lokasi

Kode di atas memeriksa apakah situs tersebut aktif atau tidak dari satu lokasi (New York, AS). Tapi, kita bisa mengujinya dari lokasi yang berbeda dengan lokasi di badan permintaan.

Lokasi lain yang tersedia adalah Inggris (London) dan Singapura. Kami dapat meneruskan data lokasi beserta URL situs sebagai berikut.

 { "locations": [ "uk", "us", "sg" ], "url": "geekflare.com" }

Anda dapat melewati lokasi yang Anda inginkan dari daftar.

Kami telah menyelesaikan kode untuk membuat permintaan API yang mengambil data apakah situs aktif atau tidak. Sekarang, saatnya untuk menulis beberapa kode lagi yang mengirim email saat situs sedang down. Ayo pergi.

Menerima email saat situs sedang down

Anda dapat menemukan tutorial terperinci tentang Cara Mengirim Email melalui Gmail dengan Python Atau gunakan kode berikut yang menggunakan paket bernama yagmail yang dirancang khusus untuk mengirim email dari Gmail .

Sebelum mengirim email melalui akun Gmail Anda, kami harus mengaktifkan opsi Izinkan aplikasi yang kurang aman . Anda dapat menyalakannya di sini.

Mari kita lihat kodenya.

 def send_mail(): gmail = yagmail.SMTP("gmail", "password") receiver = "[email protected]" subject = "Testing Subject" body = "This is a testing mail" gmail.send( to=receiver, subject=subject, contents=body, )

Anda dapat menemukan tutorial lengkap yagmail di sini.

Sekarang, kami memiliki kode untuk permintaan API dan pengiriman email. Langkah kita selanjutnya adalah memanggil send_mail setiap kali kita menerima status buruk dari permintaan API.

Jadi, bagaimana kita tahu bahwa situs kita sedang down atau up? Saat kami meminta Is Site Up? API, ia akan merespon dengan beberapa data sebagai berikut.

 {'timestamp': 1629556759685, 'apiStatus': 'success', 'apiCode': 201, 'message': 'Site is up.', 'meta': {'url': 'https://www.geekflare.com', 'followRedirect': False, 'test': {'id': 'eu0frmah05mids55elkjgevkzd8ur3vk'}}, 'data': [{'country': 'United States', 'city': 'New York', 'description': 'Site is up.', 'statusCode': 301, 'reasonPhrase': 'Moved Permanently'}]}

Anda akan menemukan kunci yang disebut pesan di dalamnya. Nilai dari pesan kunci memberitahu kita apakah situs sedang naik atau turun. Jadi, bisa jadi dua jenis pesan sebagai berikut.

  • Situs sudah habis.
  • Situs sedang down.

Saya pikir Anda mendapatkannya sekarang. Jadi, kami akan mengirim email ketika kami menerima pesan " Situs tidak aktif". Kode terakhir akan terlihat sebagai berikut.

 import requests import yagmail API_URL = "https://geekflare.p.rapidapi.com/up" def make_api_request(): headers = { 'content-type': "application/json", 'x-rapidapi-host': "geekflare.p.rapidapi.com", 'x-rapidapi-key': "API_KEY" } payload = r'{"url": "https://www.abcd.com"}' response = requests.request("POST", API_URL, data=payload, headers=headers) return response.json() def send_mail(content): gmail = yagmail.SMTP("gmail", "password") receiver = "[email protected]" 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 errors from different locations locations_data = data['data'] mail_content = "Your site is down due to unexpected error. See the useful data to resolve errors below.\n\n" for location in locations_data: mail_content += f"{location['city']}, {location['country']} - {location['error']}\n" mail_content += "\nCheck the error and resolve them as soon as possible." send_mail(mail_content)

Anda dapat memperbarui konten email sesuai keinginan. Kami telah menyelesaikan pengiriman email setiap kali situs kami tidak aktif. Lihat contoh surat yang telah diterima melalui kode di atas.

Situs Down Mail
Situs Down Mail

Tapi, masih ada masalah.

Kami harus mengeksekusi kode kami untuk memeriksa apakah situs kami naik atau turun. Seberapa sering kita menjalankannya? Ya, itu tergantung pada preferensi Anda. Katakanlah kita harus memeriksanya setiap satu jam.

Kita dapat membuka terminal atau baris perintah dan mengeksekusi kode kita setiap jam. Tapi, ini adalah proses yang berulang dan membosankan. Dan terkadang kita bisa lupa untuk memeriksanya. Jadi, kita perlu mengeksekusi kode secara otomatis setiap jam.

Di sini kita dapat menggunakan cron untuk mengeksekusi kode kita secara otomatis setiap jam. Mari kita lihat cara mengaturnya.

Pengaturan Cron

Mari kita lihat langkah-langkah untuk mengatur cron pada sistem operasi berbasis UNIX.

  • Buka terminal.
  • Jalankan perintah crontab -e yang membuka file crontab di terminal.
  • Tekan tombol i untuk masuk ke mode INSERT.
  • Sekarang, tambahkan pola cron, direktori Python dan direktori file kode kita. Anda lihat contohnya di bawah ini.

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

kroni
kroni

Kami telah mengatur pola untuk mengeksekusi kode setiap jam. Tapi, Anda mungkin perlu mengaturnya setiap menit berdasarkan kebutuhan. Jadi, Anda dapat menggunakan Crontab Guru atau alat cron lainnya untuk menghasilkan pola cron untuk jadwal.

Itu dia. Kami telah menyelesaikan penyiapan untuk mendapatkan pemberitahuan saat situs tidak aktif.

Kesimpulan

Gunakan cron untuk menjadwalkan skrip agar berjalan secara berkala di server cloud Anda yang berjalan 24/7 untuk mendapatkan pemberitahuan melalui email saat situs tidak aktif. Otomatisasi menghemat banyak waktu dan bekerja untuk kami. Jadi, manfaatkan seperti yang kami lakukan di artikel ini.

Selamat Memantau