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.

CODE:

 1  #!/usr/bin/python
 2  import socket,ftplib,os
 3  from ftplib import FTP
 4
 5  sc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 6  sc.connect((’www.google.com‘, 80))
 7  sc.getpeername() # google’s IP and port
 8
 9  f=open(’index.html‘, ‘w‘)
10  value = sc.getsockname()
11  string = str(value)
12  f.write(string)
13  f.close()
14
15  def upload(ftp, file):
16      ext = os.path.splitext(file)[1]
17      if ext in (”.txt“,” .htm“, “.html“):
18          ftp.storlines(”STOR ” + file, open(file))
19      else:
20          ftp.storbinary(”STOR ” + file, open(file, “rb“), 1024)
21
22  ftp = FTP(’FTP_HOST‘)
23  ftp.login(’FTP_USER‘,’FTP_PASSWORD‘)
24
25  upload(ftp, “index.html“)
26
27  ftp.retrlines(’LIST‘)
28  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 :)

Leave A Comment

*
To prove you're a person (not a spam script), type the security word shown in the picture.
Anti-Spam Image

subscribe to our news feeds
Already a member, login below or join us here
USERNAME
PASSWORD