20._Internet_Protocols_and_Supports

advertisement
Здравствуйте все!
Меня зовут Георгий Михайлович
И сегодня я представлю вам презентацию на
тему
Протокол межсетевого
взаимодействия и его
поддержка(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()
Вообщем то все…
Спасибо за внимание!)
Информация взята из различных глубин интернета…
Download