Python ile internet bağlantısını kontrol eden program

MyParisa

Üye
31 Mar 2023
79
38
Arada hepimizin interneti gidiyor ve o ara beklerken başka bir şeyler yapıyoruz. İnternet bağlantısının geldiğini kontrol etmek için basit bir program yazdım.

internet_connection.py
Python:
import requests
from urllib.request import urlopen
from time import sleep, time
from utils import speak


def check_connection(url):
    try:
        response = requests.get(url, timeout=10)
        return True, None
    except Exception as e:
        return False, e


def check_internet_connection(urls, sleep_time=15, print_errors=False):
    error_counter = -1
    start_time = time()

    while True:
        print(f"{time() - start_time:.2f}", end=' ', flush=True)

        is_connected, error = check_connection(urls)
        if is_connected:
            sentence = "İnternet bağlantısı kuruldu!"
            speak(sentence)
            print("İnternet bağlantısı kuruldu!")
        else:
            error_counter += 1
            if error_counter >= 3:
                sentence = "Hâlâ, internet bağlantısı kurulamadı!"
                speak(sentence)
                print(sentence)
                error_counter = 0
            if print_errors:
                print(f"hata: {error}")

        sleep(sleep_time)

utils.py
Python:
import random
from subprocess import call


def speak(sentence):
    call(["espeak", "-v", "tr", sentence])
    print(sentence)

main.py
Python:
from internet_connection import check_internet_connection

if __name__ == "__main__":
    URL = "https://www.google.com"
    SLEEP_TIME = 15
    print_errors_enabled = False

    check_internet_connection(
        URL, SLEEP_TIME, print_errors_enabled)

Düzgün çalışması için bilgisayarınızda "espeak" in bulunması gerekmektedir.
 
25 Mar 2023
101
72
misal google yaşadığımız ülkede banlı durumda bu program nasıl çalışacak?
internet bağlantısını bir hosta istek atıp öğrenmeniz saçma olmuş.
 

MyParisa

Üye
31 Mar 2023
79
38
misal google yaşadığımız ülkede banlı durumda bu program nasıl çalışacak?
internet bağlantısını bir hosta istek atıp öğrenmeniz saçma olmuş.
Ne onerirsin, sahsen benim aklima gelenler birkac tane host grubuna istek atmak veya socket kullarak asagidaki gibi google dns adresi veya benzerine ping atmak.


Python:
socket.setdefaulttimeout(3)
socket.socket(socket.AF_INET, socket.SOCK_STREAM).connect(("8.8.8.8", 53))
 
25 Mar 2023
101
72
Ne onerirsin, sahsen benim aklima gelenler birkac tane host grubuna istek atmak veya socket kullarak asagidaki gibi google dns adresi veya benzerine ping atmak.


Python:
socket.setdefaulttimeout(3)
socket.socket(socket.AF_INET, socket.SOCK_STREAM).connect(("8.8.8.8", 53))
Pythonda yapmak biraz zor olabilir ama windows'un DLL dosyaları vardır wifi-eternet kartını tespit ettirip istatistikleri alabilirsin.
kullanım oranı yüksek ise internet vardır diyebiliriz ama kesin çözüm olmuyor
 

MyParisa

Üye
31 Mar 2023
79
38
Pythonda yapmak biraz zor olabilir ama windows'un DLL dosyaları vardır wifi-eternet kartını tespit ettirip istatistikleri alabilirsin.
kullanım oranı yüksek ise internet vardır diyebiliriz ama kesin çözüm olmuyor
windows kullanmadigim icin deneyemiyorum ama "wininet.dll" dosyasi ile herhalde internetin olup olmadigini kontrol edebilirim.
 

İnterestHacker

Katılımcı Üye
24 Mar 2022
333
89
Dünya
Arada hepimizin interneti gidiyor ve o ara beklerken başka bir şeyler yapıyoruz. İnternet bağlantısının geldiğini kontrol etmek için basit bir program yazdım.

internet_connection.py
Python:
import requests
from urllib.request import urlopen
from time import sleep, time
from utils import speak


def check_connection(url):
    try:
        response = requests.get(url, timeout=10)
        return True, None
    except Exception as e:
        return False, e


def check_internet_connection(urls, sleep_time=15, print_errors=False):
    error_counter = -1
    start_time = time()

    while True:
        print(f"{time() - start_time:.2f}", end=' ', flush=True)

        is_connected, error = check_connection(urls)
        if is_connected:
            sentence = "İnternet bağlantısı kuruldu!"
            speak(sentence)
            print("İnternet bağlantısı kuruldu!")
        else:
            error_counter += 1
            if error_counter >= 3:
                sentence = "Hâlâ, internet bağlantısı kurulamadı!"
                speak(sentence)
                print(sentence)
                error_counter = 0
            if print_errors:
                print(f"hata: {error}")

        sleep(sleep_time)

utils.py
Python:
import random
from subprocess import call


def speak(sentence):
    call(["espeak", "-v", "tr", sentence])
    print(sentence)

main.py
Python:
from internet_connection import check_internet_connection

if __name__ == "__main__":
    URL = "https://www.google.com"
    SLEEP_TIME = 15
    print_errors_enabled = False

    check_internet_connection(
        URL, SLEEP_TIME, print_errors_enabled)

Düzgün çalışması için bilgisayarınızda "espeak" in bulunması gerekmektedir.
çok güzel proje. Python ile yapman güzel olmuş. Bense bunu manuel yapıyorum. Pingi cmd den kendim atıyorum.
 

root_elliot

Yeni üye
6 Ağu 2022
10
1
Arada hepimizin interneti gidiyor ve o ara beklerken başka bir şeyler yapıyoruz. İnternet bağlantısının geldiğini kontrol etmek için basit bir program yazdım.

internet_connection.py
Python:
import requests
from urllib.request import urlopen
from time import sleep, time
from utils import speak


def check_connection(url):
    try:
        response = requests.get(url, timeout=10)
        return True, None
    except Exception as e:
        return False, e


def check_internet_connection(urls, sleep_time=15, print_errors=False):
    error_counter = -1
    start_time = time()

    while True:
        print(f"{time() - start_time:.2f}", end=' ', flush=True)

        is_connected, error = check_connection(urls)
        if is_connected:
            sentence = "İnternet bağlantısı kuruldu!"
            speak(sentence)
            print("İnternet bağlantısı kuruldu!")
        else:
            error_counter += 1
            if error_counter >= 3:
                sentence = "Hâlâ, internet bağlantısı kurulamadı!"
                speak(sentence)
                print(sentence)
                error_counter = 0
            if print_errors:
                print(f"hata: {error}")

        sleep(sleep_time)

utils.py
Python:
import random
from subprocess import call


def speak(sentence):
    call(["espeak", "-v", "tr", sentence])
    print(sentence)

main.py
Python:
from internet_connection import check_internet_connection

if __name__ == "__main__":
    URL = "https://www.google.com"
    SLEEP_TIME = 15
    print_errors_enabled = False

    check_internet_connection(
        URL, SLEEP_TIME, print_errors_enabled)

Düzgün çalışması için bilgisayarınızda "espeak" in bulunması gerekmektedir.
Elinize sağlık 🙂
 

ACE Veen

Uzman üye
4 Şub 2023
1,129
569
Belirsiz
Arada hepimizin interneti gidiyor ve o ara beklerken başka bir şeyler yapıyoruz. İnternet bağlantısının geldiğini kontrol etmek için basit bir program yazdım.

internet_connection.py
Python:
import requests
from urllib.request import urlopen
from time import sleep, time
from utils import speak


def check_connection(url):
    try:
        response = requests.get(url, timeout=10)
        return True, None
    except Exception as e:
        return False, e


def check_internet_connection(urls, sleep_time=15, print_errors=False):
    error_counter = -1
    start_time = time()

    while True:
        print(f"{time() - start_time:.2f}", end=' ', flush=True)

        is_connected, error = check_connection(urls)
        if is_connected:
            sentence = "İnternet bağlantısı kuruldu!"
            speak(sentence)
            print("İnternet bağlantısı kuruldu!")
        else:
            error_counter += 1
            if error_counter >= 3:
                sentence = "Hâlâ, internet bağlantısı kurulamadı!"
                speak(sentence)
                print(sentence)
                error_counter = 0
            if print_errors:
                print(f"hata: {error}")

        sleep(sleep_time)

utils.py
Python:
import random
from subprocess import call


def speak(sentence):
    call(["espeak", "-v", "tr", sentence])
    print(sentence)

main.py
Python:
from internet_connection import check_internet_connection

if __name__ == "__main__":
    URL = "https://www.google.com"
    SLEEP_TIME = 15
    print_errors_enabled = False

    check_internet_connection(
        URL, SLEEP_TIME, print_errors_enabled)

Düzgün çalışması için bilgisayarınızda "espeak" in bulunması gerekmektedir.
eline sağlık hocam
 

fsKS

Üye
11 Şub 2023
137
74
Arada hepimizin interneti gidiyor ve o ara beklerken başka bir şeyler yapıyoruz. İnternet bağlantısının geldiğini kontrol etmek için basit bir program yazdım.

internet_connection.py
Python:
import requests
from urllib.request import urlopen
from time import sleep, time
from utils import speak


def check_connection(url):
    try:
        response = requests.get(url, timeout=10)
        return True, None
    except Exception as e:
        return False, e


def check_internet_connection(urls, sleep_time=15, print_errors=False):
    error_counter = -1
    start_time = time()

    while True:
        print(f"{time() - start_time:.2f}", end=' ', flush=True)

        is_connected, error = check_connection(urls)
        if is_connected:
            sentence = "İnternet bağlantısı kuruldu!"
            speak(sentence)
            print("İnternet bağlantısı kuruldu!")
        else:
            error_counter += 1
            if error_counter >= 3:
                sentence = "Hâlâ, internet bağlantısı kurulamadı!"
                speak(sentence)
                print(sentence)
                error_counter = 0
            if print_errors:
                print(f"hata: {error}")

        sleep(sleep_time)

utils.py
Python:
import random
from subprocess import call


def speak(sentence):
    call(["espeak", "-v", "tr", sentence])
    print(sentence)

main.py
Python:
from internet_connection import check_internet_connection

if __name__ == "__main__":
    URL = "https://www.google.com"
    SLEEP_TIME = 15
    print_errors_enabled = False

    check_internet_connection(
        URL, SLEEP_TIME, print_errors_enabled)

Düzgün çalışması için bilgisayarınızda "espeak" in bulunması gerekmektedir.
İlk olarak, kodunuzda requests ve urllib.request kütüphanelerini kullanarak internet bağlantısını kontrol ediyorsunuz. Bu iki kütüphane, internet üzerindeki kaynaklara erişmek için oldukça yaygın olarak kullanılır ve iyi bir seçimdir.

Bununla birlikte, kodunuzda time ve sleep fonksiyonlarını kullanarak sürekli olarak internet bağlantısını kontrol ediyorsunuz. Bu yaklaşım, belirli bir süre boyunca internet bağlantısı olmadığında bile sürekli olarak kontrol ettiği için işlemci kaynaklarını boşa harcayabilir.

Bu durumda, internet bağlantısının kontrol edilmesi işlemini daha verimli hale getirmek için ping komutunu kullanarak internet bağlantısını kontrol etmenizi öneririm. ping komutu, belirli bir zaman aralığında internete yöneltilen küçük paketlerin yanıtını kontrol ederek internet bağlantısının durumunu belirler. Bu yöntem, CPU kaynaklarını daha az tüketir ve daha etkili bir internet bağlantısı kontrolü sağlar.

Ayrıca, speak fonksiyonunu kullanarak bir sesli uyarı sağlıyorsunuz. Ancak, bu fonksiyon Windows'ta çalışmayabilir. Bu nedenle, Windows için uygun bir sesli uyarı sağlayan bir kütüphane kullanmanızı öneririm.

Son olarak, kodunuzu daha anlaşılır hale getirmek için, değişken ve fonksiyon isimlerinin daha açıklayıcı olmasını öneririm. Örneğin, check_connection yerine check_internet_connection gibi daha açıklayıcı bir isim kullanabilirsiniz.

Umarım bu önerilerim yardımcı olmuştur.
 

MyParisa

Üye
31 Mar 2023
79
38
İlk olarak, kodunuzda requests ve urllib.request kütüphanelerini kullanarak internet bağlantısını kontrol ediyorsunuz. Bu iki kütüphane, internet üzerindeki kaynaklara erişmek için oldukça yaygın olarak kullanılır ve iyi bir seçimdir.

Bununla birlikte, kodunuzda time ve sleep fonksiyonlarını kullanarak sürekli olarak internet bağlantısını kontrol ediyorsunuz. Bu yaklaşım, belirli bir süre boyunca internet bağlantısı olmadığında bile sürekli olarak kontrol ettiği için işlemci kaynaklarını boşa harcayabilir.

Bu durumda, internet bağlantısının kontrol edilmesi işlemini daha verimli hale getirmek için ping komutunu kullanarak internet bağlantısını kontrol etmenizi öneririm. ping komutu, belirli bir zaman aralığında internete yöneltilen küçük paketlerin yanıtını kontrol ederek internet bağlantısının durumunu belirler. Bu yöntem, CPU kaynaklarını daha az tüketir ve daha etkili bir internet bağlantısı kontrolü sağlar.

Ayrıca, speak fonksiyonunu kullanarak bir sesli uyarı sağlıyorsunuz. Ancak, bu fonksiyon Windows'ta çalışmayabilir. Bu nedenle, Windows için uygun bir sesli uyarı sağlayan bir kütüphane kullanmanızı öneririm.

Son olarak, kodunuzu daha anlaşılır hale getirmek için, değişken ve fonksiyon isimlerinin daha açıklayıcı olmasını öneririm. Örneğin, check_connection yerine check_internet_connection gibi daha açıklayıcı bir isim kullanabilirsiniz.

Umarım bu önerilerim yardımcı olmuştur.
Tesekkurler chat gpt
 

fsKS

Üye
11 Şub 2023
137
74
1500 satır Python kodu yazdım. Arayüz olsaymış, daha iyi olurmuş dedi. Ben de bu back-end geliştirme için kullanılan bir programlama dili, dedim. Sonra hastaneye götürdük adamı, yazılım bilene yazılım ile ilgili laf etme sonucu kansere yakalanmış.

Umarım öl
ür
mez
 

MyParisa

Üye
31 Mar 2023
79
38
1500 satır Python kodu yazdım. Arayüz olsaymış, daha iyi olurmuş dedi. Ben de bu back-end geliştirme için kullanılan bir programlama dili, dedim. Sonra hastaneye götürdük adamı, yazılım bilene yazılım ile ilgili laf etme sonucu kansere yakalanmış.

Umarım öl
mez
Insallah
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.