1 / 21

Prezentacja multimedialna. Język python.

Paweł Kempiak. Prezentacja multimedialna. Język python. Wysyłanie żądań HTTP. $ telnet matrix.umcs.lublin.pl 80 Trying 212.182.0.171... Connected to matrix.umcs.lublin.pl. Escape character is '^]'. GET / HTTP/1.1 Host: matrix.umcs.lublin.pl HTTP/1.1 200 OK

fagan
Download Presentation

Prezentacja multimedialna. Język python.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Paweł Kempiak Prezentacja multimedialna.Język python.

  2. Wysyłanie żądań HTTP

  3. $ telnet matrix.umcs.lublin.pl 80 Trying 212.182.0.171... Connected to matrix.umcs.lublin.pl. Escape character is '^]'. GET / HTTP/1.1 Host: matrix.umcs.lublin.pl HTTP/1.1 200 OK Date: Sun, 14 Dec 2008 20:14:45 GMT Server: Apache/2.2.9 (Debian) PHP/5.2.6-5 with Suhosin-Patch mod_ssl/2.2.9 OpenSSL/0.9.8g X-Powered-By: PHP/5.2.6-5 Vary: Accept-Encoding Content-Length: 5322 Content-Type: text/html Żądanie HTTP za pomocą telnetu

  4. #Tworzenie obiektu modułu httplib >>> Request = httplib.HTTP(”matrix.umcs.lublin.pl”) #Zdefiniowanie metody pobierania danych >>> Request.putrequest(”GET”,”/”) >>> Request.endheaders() #Pobranie odpowiedzi serwera >>> Request.getreply() (200, 'OK', <httplib.HTTPMessage instance at 0xb7c46f2c>) #Pobranie zawartości strony w HTMLu >>> Page=Request.getfile() #Wyświetlenie zawartości strony na ekranie >>> linia = Page.readline() >>> while linia: … print linia … linia = Page.readline() Żądanie HTTP za pomocą modułu httplib

  5. Wysyłanie i odbieranie e-maili

  6. Protokoły pocztowe • POP3 (moduł poplib) • Służy do odbierania poczty. Domyślny port to 25 dla połączeń nieszyfrowanych, a przy użyciu szyfrowania SSL usługa działa na 995 porcie. • SMTP (moduł smtplib) • Służy do wysyłania poczty. Domyślny port to 110 dla połączeń nieszyfrowanych, a przy użyciu szyfrowania SSL usługa działa na 465 porcie. • IMAP (moduł imaplib) • Służy do zarządzania wiadomościami bezpośrednio na serwerze bez potrzeby ich pobierania.

  7. #Łączenie z serwerem >>> Mailbox = poplib.POP3(”liza.umcs.lublin.pl”) #Logowanie na skrzynce >>> Mailbox.user=(”nazwa_uzytkownika”) >>> Mailbox.pass_(”haslo”) #Pobranie ilości wiadomości oraz ich rozmiar. Zwracane jest #w tupli ilość wiadomość i ich rozmiar >>> Mailbox.stat() #Szczegółowe wylistowanie wiadomości >>> Mailbox.list() #Pobranie zawartości e-maila >>> Mailbox.retr(numer_wiadomosci) #Usunięcie wiadomości nr 1 >>> Mailbox.dele(1) #Po wykonaniu metody rset cofane są decyzje #Wylogowanie ze skrzynki >>> Mailbox.quit() POP3 – łączenie i logowanie

  8. #Łączenie z serwerem SMTP >>> Outbox=smtplib.SMTP(”matrix.umcs.lublin.pl”) #Logowanie do serwera SMTP >>> Outbox.login(”nazwa_uzytkownika”,”haslo”) >>> MyAddress=”pkempiak[at]lmatrix.umcs.lublin.pl” >>> TargetAddress=”pkempiak[at]matrix.umcs.lublin.pl” >>> HeaderText=”From: ”+MyAddress+”\n” >>> HeaderText+=”To: ”+TargetAddress+”\n\n” #Wysłanie wiadomości >>> Outbox.sendmail(MyAddress,TargetAddress,HeaderText+ +”Moja wiadomosc”) SMTP – łączenie i logowanie

  9. exception SMTPException Główny wyjątek, który wyłapuje wszystkie wyjątki SMTP exception SMTPServerDisconnected Wyjątek ten wyrzucany jest gdy serwer nieoczekiwanie rozłączy się z niewiadomego powodu. exception SMTPResponseException Wyjątek ten wyrzucany jest gdy serwer zwraca kod błędu, który zapisany jest w atrybucie smtp_code. Zawiera wyjście błędu. SMTP – obsługa wyjątków

  10. exception SMTPSenderRefused Wyjątek wyrzucany jest gdy wysyłający adres jest odrzucony. exception SMTPRecipientsRefused Wyjątek wyrzucany jest gdy wszystkie adresy odbiorców są odrzucone. Metoda sendmail() może wyrzucić ten wyjątek. exception SMTPDataError Wyjątek wyrzucany kiedy serwer SMTP odrzucił zawartość maila. SMTP – obsługa wyjątków (2)

  11. exception SMTPConnectError Wyjątek wyrzucony jest gdy wystąpi błąd podczas ustanawiania połączenia z serwerem SMTP. exception SMTPHeloError Wyjątek wyrzucany gdy serwer odrzucił wiadomość "HELO". exception SMTPAuthenticationError Wyjątek wyrzucany jest gdy podano błędną nazwę użytkownika lub hasło. SMTP – obsługa wyjątków (3)

  12. #Łączenie z serwerem IMAP >>> imap=imaplib.IMAP4(adres_email) #Logowanie do serwera IMAP >>> imap.login(nazwa_uzytk,haslo) #Wybranie katalogu zdalnego na serwerze, z którego będą #pobierane wiadomości >>> imap.select(”INBOX”) #Wyszukiwanie wiadomości według kryteriów >>> imap.search(None,”ALL”,”FROM”,”president[at]whitehose.com”) #Odbieranie wiadomości; pierwszy par. to nr wiadomosci, drugi par. to część wiadomości która ma być wyświetlona, np. FULL, BODY >>> imap.fatch(”1”, BODY[text]) #Zmiana statusu wiadomości; drugi par. „-FLAG” lub „+FLAG” >>> imap.store(”1”,”+FLAG”,[”\Deleted”]) IMAP – łączenie i logowanie

  13. #Usunięcie wszystkich wiadomości oznaczonych flagą ”\Deleted” >>> imap.expunge() #Skopiowanie części wiadomości do innej skrzynki >>> imap.copy(wiadomosci,nowa_skrzynka) IMAP – łączenie i logowanie (2)

  14. #Tworzenie nowej skrzynki >>> imap.create(nazwa) #Usunięcie skrzynki >>> imap.delete(nazwa) #Zmiana nazwy skrzynki >>> imap.rename(stara_nazwa,nowa_nazwa) #Wyszukiwanie nazw skrzynek >>> print imap.list() #Sprawdzenie statusu wiadomości >>> imap.status(”INBOX”,”(MESSAGES UIDNEXT)”) #Dodawanie wiadomości do skrzynki >>> imap.append(nazwa_skrzynki, flagi, czas, wiadomosc) IMAP – administrowanie skrzynką

  15. IMAP4.error Wyjątek wyrzucany podczas błędów z użyciem obiektu IMAP4 IMAP4.abort Wyjątek zarezerwowany dla błędów serwera IMAP4.readonly Wyjątek wyrzucany gdy serwer podczas edycji maila zmieni skrzynkę, po czym trzeba ją otworzyć ponownie. IMAP – obsługa wyjątków

  16. Przesyłanie danych protokołem FTP

  17. #Logowanie do serwera ftp >>> session=ftplib.FTP([host[,user[,password[,acct]]]]) #Pobranie powitania serwera >>> session.getwelcome() #Zwrócenie aktualnej ścieżki >>> session.pwd() #Przejście do ścieżki danej parametrem >>> session.cwd(sciezka) #Utworzenie katalogu >>> session.mkdir(nazwa_katalogu) #Usunięcie pustego katalogu >>> session.rmdir(nazwa_katalogu) #Wyświetlenie listy plików i katalogów >>> session.nlst([dir[,args]]) #Pobranie rozmiaru pliku >>> session.size(nazwa_pliku) Użycie modułu ftplib

  18. #Usunięcie pliku >>> session.delete(nazwa_pliku) #Zmiana nazwy pliku >>> session.rename(stara_nazwa,nowa_nazwa) #Przesłanie pliku lokalnego do serwera >>> Source=open(sciezka) >>> Session.storbinary(”STOR plik.txt”,Source,8192) #Przesłanie pliku zdalnego do lokalnego komputera >>> destination=open(”plik2.txt”,”w”) >>> session.retrbinary(”RETR plik2.txt”,dest.write) >>> destination.close() #Ustawienie pasywnego połączenia >>> session.set_pasv(value) #Ustawienie poziomu debugowania (level 2 najwięcej informacji) >>> session.set_debuglevel(level) Użycie modułu ftplib (2)

  19. error_reply Wyjątek wyrzucony jeśli serwer nieoczekiwanie wysłał odpowiedź error_temp Wyjątek wyrzucony jeśli wystąpił tymczasowy błąd error_perm Wyjątek wyrzucony jeśli są problemy z prawami dostępu error_proto Wyjątek wyrzucony jeśli wystąpił nieznany błąd ftplib - Obsługa wyjątków

  20. Moduł netrc jest używany do przetwarzania plików *.netrc. Pliki te przechowują informacje o użytkownikach dla serwerów FTP. Mogą zawierać również makra. MyNetrc=netrc.netrc(".netrc") MyNetrc.hosts["ftp.oracle.com"]=("stanner","","weeble") NetrcFile=open(".nterc") NetrcFile.write(repr(MyNetrc)) NetrcFile.close() Użycie modułu netrc

  21. Dziękuję za uwagę :)

More Related