LiNewb - Linux портал для начинающих: новости, анонсы, статьи, форум, FAQ по Linux.
LiNewb - Google поиск

Статьи, описания, мануалы » материал и комментарии


Поиск по разделу: 

Категории статей, описаний, мануалов

Мои статьи [0] О Linux в общем... [4]
Установка, обновление Linux [3] Сеть, Интернет [5]
Android [0] Графика [8]
Безопасность [1] Полезные советы [7]
Программы, утилиты [7] Игры, музыка, видео [1]
Прогр-ние: Web [1] Прогр-ние: Система, Приложения [0]
Разное [13]
Главная » Статьи » Сеть, Интернет

Простой HTTP сервер при помощи Python
Если вам нужно быстро запустить web-сервер и вы не желаете разбираться с настройкой Apache или чем-либо подобным, то вам несомненно сможет помочь Python.
Python поставляется вместе с простым встроенным HTTP сервером. При помощи этого маленького HTTP сервера вы можете включить любой из каталогов вашей системы в директорий вашего web сервера. Для этого вам нужно всего лишь малость - установить Python.

По правде говоря, это очень полезно для того, чтобы, например, сделать общедоступными кое-какие файлы и каталоги в вашей локальной сети.
Установить и запустить этот крошечный, но тем не менее весьма полезный HTTP сервер, очень просто. Нужно всего лишь перейти в целевой каталог выполнить одну однострочную команду.

Итак, предположим, что нам нужно "расшарить" каталог /home/myshare и IP адрес компьютера 192.168.1.2

Запускаем Терминал и выполним команды:

$ cd /home/myshare
$ python -m SimpleHTTPServer


Готово! Сейчас ваш HTTP сервер запустится по порту 8000. Вы получите сообщение:

Serving HTTP on 0.0.0.0 port 8000 ...

Теперь откройте браузер и наберите в нем web адрес:

http://192.168.1.2:8000

Вы также можете доступится туда же по адресу:

http://127.0.0.1:8000

Если в директории /home/myshare (ее вы указывали как цель для сервера выше), есть файл с именем index.html, то этот файл будет служить как основной (home). Если же там не было файла index.html, то отобразится список файлов этого каталога.

Если вы хотите сменить порт, который используется, то запустите программу командой:

$ python -m SimpleHTTPServer 8080

Если же вам нужно работать только на localhost, нужно написать небольшую програмку на Python, например такую:

---
import sys
import BaseHTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler

HandlerClass = SimpleHTTPRequestHandler
ServerClass = BaseHTTPServer.HTTPServer
Protocol = "HTTP/1.0"

if sys.argv[1:]:
    port = int(sys.argv[1])
else:
    port = 8000
server_address = ('127.0.0.1', port)

HandlerClass.protocol_version = Protocol
httpd = ServerClass(server_address, HandlerClass)

sa = httpd.socket.getsockname()
print "Serving HTTP on", sa[0], "port", sa[1], "..."
httpd.serve_forever()

---

Кстати, это все еще должно работать и под Windows и Cygwin.

По материалам www.linuxjournal.com

 
     


Категория: Сеть, Интернет | Добавил: linewber (05.10.2009)
Теги: Python, SimpleHTTPServer, Сеть, сервер
Просмотров: 17932 | Рейтинг: 4.7/3
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Вход на сайт

Нашли ошибку в тексте?

Система Orphus

Метки документов

Проект OpenNET 
Все зарегистрированные товарные знаки, находящиеся или отображаемые на страницах сайта //linewb.moy.su, принадлежат своим законным владельцам. Вся информация, полученная со сторонних источников, публикуется с обязательными ссылками на эти источники.