Здравствуйте все! Меня зовут Георгий Михайлович И сегодня я представлю вам презентацию на тему Протокол межсетевого взаимодействия и его поддержка(Internet Protocol and Support) 14 мая 2010 год …. Протокол межсетевого взаимодействия и его поддержка(Internet Protocol and Support) 1. Что это такое? Это большая, хорошо разработанная группа модулей, реализующая доступ к сетевым протоколам и форматам файлов. Рассмотрим некоторые из них… webbrowser module -Модуль который позволяет обеспечить высокоуровневый, разрешающий отображать веб документы пльзователю 2. import webbrowser! Стандартный модуль Python webbrouser позволяет запустить "наиболее подходящий" Web-браузер Имеет несколько основных функций… webbrowser.open_new(url) – открывает url в новом окне браузера webbrowser.open_new_tab(url) – открывает url в новой страницы запущенного браузера Common gateway interface support (Общий шлюзовой интерфейс и его поддержка) 3. Немного умных слов CGI является мощным средством динамической генерации Веб страниц. CGI скрипты вызываются веб-сервером, а результат их работы отправляется на клиентский броузер. Таким образом, CGI скрипты способны выполнять любые запросы клиента на сервере и отправлять клиенту результаты запроса. Common gateway interface support (Общий шлюзовой интерфейс и его поддержка) 4. С чем его едят? Типичная CGI программа состоит из двух частей: из передачи HTTP заголовков и передачи HTML данных. Вебсервер связывает вывод CGI скрипта со вводом у броузера. Всё, что выводится CGI скриптом передаётся на клиентскую машину Обратная связь осуществляется передачей данных от сервера клиенту путём передачи параметров. 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!" Common gateway interface support (Общий шлюзовой интерфейс и его поддержка) 6. Передача параметров Итак передача параметров в CGI скрипт осуществляется двумя методами: прямой передачей параметров в имени URL в формате “http://адрес_скрипта?имя_параметра1= значение_параметра1&имя_параметра2=значение2...” При этом способе в программе становятся доступными переменные имя_параметра и им присваиваются переданные значения; второй способ состоит в передаче параметров через HTML форму. Во втором случае необходимо применение модуля CGI: Common gateway interface support (Общий шлюзовой интерфейс и его поддержка) 7 Про Ошибки… import cgi *** Затем, чтобы включить обработку ошибок полезно вставить в начало следующие строчки*** import cgitb; cgitb.enable()# Включает обработку ошибок(Полезно!) import cgitb; cgitb.enable(display=0, logdir="/tmp") #Ошибки вашего скрипта передаются не в браузер клиента, а в log фаил Common gateway interface support (Общий шлюзовой интерфейс и его поддержка) 8 FieldStorage FieldStorage, который содержит в себе переданную в форме информацию. По сути дела этот класс представляет из себя словарь, обладающий теми же свойствами, что и обычный питоновский словарь, например методами has_key и key(), также можно определить его длину функцией len(). По умолчанию FieldStorage не содержит тех значений, которые в форме остались пустыми (например пустое поле ввода). Чтобы FieldStorage включал все переменные формы сделайте так: form = cgi.FieldStorage(keep_blank_values=true) 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." return print "<p>name:", form["name"].value print "<p>addr:", form["addr"].value #Дальше обрабатываем форму Модуль smtplib, для отправки сообщений 10. Здравствуйте, я спам бот! Для отправки сообщений по протоколу SMTP нужно использовать библиотеку smtplib. Определяя экземпляр класса SMTP, устанавливаем соединение с SMTP сервером: import smtplib mail=smtplib.SMTP("smtpserver.ru") Модуль smtplib, для отправки сообщений 11 Думаем над примером import smtplib mail=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( 'admin@iso.ru', 'market@iso.ru', msg ) #admin- отправитель, market - получатель urllib — чтение произвольных ресурсов по URL 12 Наконец то последний модуль!) Этот модуль предоставляет средства высокого уровня для чтения сетевых ресурсов, используя различные протоколы. В частности функция urlopen() ведет себя аналогично встроенной функции open(), но воспринимает URL вместо имени файла. При этом, естественно, налагаются некоторые ограничения: Вы можете открыть ресурс только для чтения urllib — чтение произвольных ресурсов по URL 13 Простая разминка мозга… Модуль имеет длинный ряд функций, но связи с тем, что мы не будем его детально изучать, ограничимся только одной… import urllib f = urllib.urlopen("http://ya.ru/") print f.read() Вообщем то все… Спасибо за внимание!) Информация взята из различных глубин интернета…