web приложения на python

Описание: Программирование на супер модном мега крутом языке Питон.

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 5 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#1 dyvniy » Вт, 19 мая 2015, 11:34:33

Изображение

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 5 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#2 dyvniy » Ср, 10 июня 2015, 18:40:07

Простой http сервер питона
http://linewb.moy.su/publ/set_internet/prostoj_ht ... r_pri_pomoshhi_python/9-1-0-40
Спойлер
Если вам нужно быстро запустить 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.
Изображение

dyvniy M
Автор темы, Администратор
Администратор
Аватара
dyvniy M
Автор темы, Администратор
Администратор
Возраст: 41
Репутация: 1
Лояльность: 1
Сообщения: 3579
Зарегистрирован: Ср, 10 октября 2012
С нами: 11 лет 5 месяцев
Профессия: Программист
Откуда: Россия, Москва
ICQ Сайт Skype ВКонтакте

#3 dyvniy » Чт, 27 апреля 2017, 16:39:16

Свой CGI сайт на питне
https://pythonworld.ru/web/cgi-1.html

Код: Выделить всё

python3 -m http.server --cgi
Для сидящих на Windows чуть проще будет запуск Python файла (заметьте, что он должен находиться в той же папке, в которой мы планируем работать!):

from http.server import HTTPServer, CGIHTTPRequestHandler
server_address = ("", 8000)
httpd = HTTPServer(server_address, CGIHTTPRequestHandler)
httpd.serve_forever()

hello.py

Код: Выделить всё

#!/usr/bin/env python3
print("Content-type: text/html")
print()
print("<h1>Hello world!</h1>")

Как корректно остановить встроенный python сервер (на linux)? При остановке с помощью Ctrl+Z, его повторный запуск невозможен (без перезагрузки), видимо, потому что при таком завершении не освобождается используемый порт.
Нужно найти процесс, который захватил этот порт и прибить его. netstap -ap | grep 8000 затем kill -9 pid_процесса
Изображение


Название раздела: Python
Описание: Программирование на супер модном мега крутом языке Питон.

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения
:) ;) :hihi: :P :hah: :haha: :angel: :( :st: :_( :cool: 8-| :beee: :ham: :rrr: :grr: :* :secret: :stupid: :music: Ещё смайлики…
   

Вернуться в «Python»

Кто сейчас на форуме (по активности за 15 минут)

Сейчас этот раздел просматривают: 7 гостей