Pierwszy skrypt napisany w języku Python

Przeczyłem troszkę tekstu nt tego języka i już napisałem pierwszy skrypt. Bez rewelacji, ale chodziło raczej o rozwiązanie pewnego problemu. Otóż mam w domu komputer, który pracuje jako serwer. Jednak ze względu na dynamiczne przydzielanie adresu IP nie mogę z niego korzystać tak jakbym chciał. Teraz przy każdym podłączeniu do internetu skrypt wysyła na moje konto u jednego z providerów mój adres IP.

import socket,ftplib,os
from ftplib import FTP

sc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sc.connect((’www.google.com‘, 80))
sc.getpeername() # google’s IP and port

f=open(’index.html‘, ‘w‘)
value = sc.getsockname()
string = str(value)
f.write(string)
f.close()

def upload(ftp, file):
    ext = os.path.splitext(file)[1]
    if ext in (”.txt“,” .htm“, “.html“):
        ftp.storlines(”STOR ” + file, open(file))
    else:
        ftp.storbinary(”STOR ” + file, open(file, “rb“), 1024)

ftp = FTP(’FTP_HOST‘)
ftp.login(’FTP_USER‘,’FTP_PASSWORD‘)

upload(ftp, “index.html“)

ftp.retrlines(’LIST‘)
ftp.quit()

Opis działania:

  • pobieranie potrzebnych bibliotek
  • nawiązywanie połączenia za pomocą socketów
  • otwieranie pliku index.html i zapisywanie w nim adresu IP
  • definicja funkcji do uploadu pliku na serwer
  • połączenie z serwerem FTP
  • wysłanie pliku
  • pobranie listy plików w katalogu
  • zamknięcie wszystkich połączeń.

Dzięki temu po wejściu na odpowiednią stronę mogę zobaczyć jaki jest mój aktualny adres IP i połączyć się ze swoim komputerem.

Skrypt prymitywny, ale chodzi o sprawne działania :)