15
Здравствуйте все! Здравствуйте все! Меня зовут Георгий Михайлович Меня зовут Георгий Михайлович И сегодня я представлю вам И сегодня я представлю вам презентацию на тему презентацию на тему Протокол межсетевого Протокол межсетевого взаимодействия и его взаимодействия и его поддержка поддержка (Internet (Internet Protocol and Support) Protocol and Support) 14 мая 2010 год ….

Здравствуйте все! Меня зовут Георгий Михайлович И сегодня я представлю вам презентацию на тему

Embed Size (px)

DESCRIPTION

Здравствуйте все! Меня зовут Георгий Михайлович И сегодня я представлю вам презентацию на тему. Протокол межсетевого взаимодействия и его поддержка (Internet Protocol and Support). 14 мая 2010 год …. Протокол межсетевого взаимодействия и его поддержка (Internet Protocol and Support). - PowerPoint PPT Presentation

Citation preview

Page 1: Здравствуйте все!  Меня зовут Георгий Михайлович И сегодня я представлю вам презентацию на тему

Здравствуйте все! Здравствуйте все! Меня зовут Георгий МихайловичМеня зовут Георгий Михайлович

И сегодня я представлю вам И сегодня я представлю вам презентацию на темупрезентацию на тему

Протокол межсетевого Протокол межсетевого взаимодействия и его взаимодействия и его поддержкаподдержка(Internet (Internet Protocol and Support)Protocol and Support)

14 мая 2010 год ….

Page 2: Здравствуйте все!  Меня зовут Георгий Михайлович И сегодня я представлю вам презентацию на тему

Протокол межсетевого Протокол межсетевого взаимодействия и его взаимодействия и его

поддержкаподдержка(Internet Protocol and (Internet Protocol and Support)Support) 1. Что это такое?

Это большая, хорошо разработанная группа модулей, реализующая доступ к сетевым протоколам и форматам файлов.

Рассмотрим некоторые из них…

Page 3: Здравствуйте все!  Меня зовут Георгий Михайлович И сегодня я представлю вам презентацию на тему

webbrowser module -Модуль который webbrowser module -Модуль который позволяет обеспечить позволяет обеспечить

высокоуровневый, разрешающий высокоуровневый, разрешающий отображать веб документы отображать веб документы

пльзователюпльзователю 2. import webbrowser!

Стандартный модуль Python webbrouser позволяет запустить "наиболее подходящий" Web-браузерИмеет несколько основных функций… webbrowser.open_new(url) –

открывает url в новом окне браузера

webbrowser.open_new_tab(url) – открывает url в новой страницы запущенного браузера

Page 4: Здравствуйте все!  Меня зовут Георгий Михайлович И сегодня я представлю вам презентацию на тему

Common gateway interface support Common gateway interface support ((Общий шлюзовой интерфейс и его Общий шлюзовой интерфейс и его

поддержка)поддержка) 3. Немного умных слов

CGI является мощным средством динамической генерации Веб страниц. CGI скрипты вызываются веб-сервером, а результат их работы отправляется на клиентский броузер. Таким образом, CGI скрипты способны выполнять любые запросы клиента на сервере и отправлять клиенту результаты запроса.

Page 5: Здравствуйте все!  Меня зовут Георгий Михайлович И сегодня я представлю вам презентацию на тему

Common gateway interface support Common gateway interface support ((Общий шлюзовой интерфейс и его Общий шлюзовой интерфейс и его

поддержка)поддержка) 4. С чем его едят?

Типичная CGI программа состоит из двух частей: из передачи HTTP заголовков и передачи HTML данных. Веб-сервер связывает вывод CGI скрипта со вводом у броузера. Всё, что выводится CGI скриптом передаётся на клиентскую машинуОбратная связь осуществляется передачей данных от сервера клиенту путём передачи параметров.

Page 6: Здравствуйте все!  Меня зовут Георгий Михайлович И сегодня я представлю вам презентацию на тему

Common gateway interface support Common gateway interface support ((Общий шлюзовой интерфейс и его Общий шлюзовой интерфейс и его

поддержка)поддержка) 5. Пример cgi программыВот пример типичной CGI программы:

вначале выводятся заголовки

print "Content-Type: text/html" # Определение типа HTML

print # Пустая строка означает окончание передачи заголовков

#теперь выводим основной текст в формате HTML

print "<TITLE>CGI script output</TITLE>"

print "<H1>This is my first CGI script</H1>"

print "Hello, world!"

Page 7: Здравствуйте все!  Меня зовут Георгий Михайлович И сегодня я представлю вам презентацию на тему

Common gateway interface support Common gateway interface support ((Общий шлюзовой интерфейс и его Общий шлюзовой интерфейс и его

поддержка)поддержка) 6. Передача параметров

Итак передача параметров в CGI скрипт осуществляется двумя методами: прямой передачей параметров в имени URL в формате “http://адрес_скрипта?имя_параметра1=значение_параметра1&имя_параметра2=значение2...”

При этом способе в программе становятся доступными переменные имя_параметра и им присваиваются переданные значения; второй способ состоит в передаче параметров через HTML форму. Во втором случае необходимо применение модуля CGI:

Page 8: Здравствуйте все!  Меня зовут Георгий Михайлович И сегодня я представлю вам презентацию на тему

Common gateway interface support Common gateway interface support ((Общий шлюзовой интерфейс и его Общий шлюзовой интерфейс и его

поддержка)поддержка) 7 Про Ошибки…import cgi*** Затем, чтобы включить обработку ошибок полезно вставить в начало следующие строчки***

import cgitb; cgitb.enable()# Включает обработку ошибок(Полезно!)

import cgitb; cgitb.enable(display=0, logdir="/tmp")#Ошибки вашего скрипта передаются не в браузер клиента, а в log фаил

Page 9: Здравствуйте все!  Меня зовут Георгий Михайлович И сегодня я представлю вам презентацию на тему

Common gateway interface support Common gateway interface support ((Общий шлюзовой интерфейс и его Общий шлюзовой интерфейс и его

поддержка)поддержка) 8 FieldStorage

FieldStorage, который содержит в себе переданную в форме информацию. По сути дела этот класс представляет из себя словарь, обладающий теми же свойствами, что и обычный питоновский словарь, например методами has_key и key(), также можно определить его длину функцией len(). По умолчанию FieldStorage не содержит тех значений, которые в форме остались пустыми (например пустое поле ввода). Чтобы FieldStorage включал все переменные формы сделайте так:form = cgi.FieldStorage(keep_blank_values=true)

Page 10: Здравствуйте все!  Меня зовут Георгий Михайлович И сегодня я представлю вам презентацию на тему

Common gateway interface support Common gateway interface support ((Общий шлюзовой интерфейс и его Общий шлюзовой интерфейс и его

поддержка)поддержка)9 Примерчик

Покажем пример работы с формой:#Передали заголовки ранееform = cgi.FieldStorage() #Здесь пустых значений нет!if not (form.has_key("name") and form.has_key("addr")): #А есть ли такие поля?print "<H1>Error</H1>" #Плохая формаprint "Please fill in the name and addr fields."returnprint "<p>name:", form["name"].valueprint "<p>addr:", form["addr"].value #Дальше обрабатываем форму

Page 11: Здравствуйте все!  Меня зовут Георгий Михайлович И сегодня я представлю вам презентацию на тему

Модуль Модуль smtplib, smtplib, для отправки для отправки сообщенийсообщений

10. Здравствуйте, я спам бот!

Для отправки сообщений по протоколу SMTP нужно использовать библиотеку smtplib. Определяя экземпляр класса SMTP, устанавливаем соединение с SMTP сервером:import smtplib

mail=smtplib.SMTP("smtpserver.ru")

Page 12: Здравствуйте все!  Меня зовут Георгий Михайлович И сегодня я представлю вам презентацию на тему

Модуль Модуль smtplib, smtplib, для отправки для отправки сообщенийсообщений

11 Думаем над примером

import smtplibmail=smtplib.SMTP("smtpserver.ru")msg = """Subject: Новость\n #тема сообщения From: Intersoft Web Server \n #отправитель MIME-Version: 1.0\n #версия MIME Content-Type: text/html\n\n #тип сообщения”””Hello World!””” #тело сообщения

mail.sendmail( '[email protected]', '[email protected]', msg )#admin- отправитель, market - получатель

Page 13: Здравствуйте все!  Меня зовут Георгий Михайлович И сегодня я представлю вам презентацию на тему

urllib — чтение произвольных ресурсов urllib — чтение произвольных ресурсов по URLпо URL

12 Наконец то последний модуль!)

Этот модуль предоставляет средства высокого уровня для чтения сетевых ресурсов, используя различные протоколы. В частности функция urlopen() ведет себя аналогично встроенной функции open(), но воспринимает URL вместо имени файла.

При этом, естественно, налагаются некоторые ограничения: Вы можете открыть ресурс только для чтения

Page 14: Здравствуйте все!  Меня зовут Георгий Михайлович И сегодня я представлю вам презентацию на тему

urllib — чтение произвольных ресурсов urllib — чтение произвольных ресурсов по URLпо URL

13 Простая разминка мозга…

Модуль имеет длинный ряд функций, но связи с тем, что мы не будем его детально изучать, ограничимся только одной…

import urllibf = urllib.urlopen("http://ya.ru/")print f.read()

Page 15: Здравствуйте все!  Меня зовут Георгий Михайлович И сегодня я представлю вам презентацию на тему

Вообщем то все…Вообщем то все…

Спасибо за внимание!)

Информация взята из различных глубин интернета…