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

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

dyvniy M
Topic author, Администратор
Администратор
Avatar
dyvniy M
Topic author, Администратор
Администратор
Age: 39
Reputation: 1
Loyalty: 1
Posts: 3472
Joined: Wed, 10 Oct 2012
With us: 9 years 3 months
Профессия: Программист
Location: Россия, Москва
ICQ Website Skype VK

#1by dyvniy » Tue, 19 May 2015, 11:34:33

Image

dyvniy M
Topic author, Администратор
Администратор
Avatar
dyvniy M
Topic author, Администратор
Администратор
Age: 39
Reputation: 1
Loyalty: 1
Posts: 3472
Joined: Wed, 10 Oct 2012
With us: 9 years 3 months
Профессия: Программист
Location: Россия, Москва
ICQ Website Skype VK

#2by dyvniy » Wed, 10 Jun 2015, 18:40:07

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

Code: Select all

---
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.
Image

dyvniy M
Topic author, Администратор
Администратор
Avatar
dyvniy M
Topic author, Администратор
Администратор
Age: 39
Reputation: 1
Loyalty: 1
Posts: 3472
Joined: Wed, 10 Oct 2012
With us: 9 years 3 months
Профессия: Программист
Location: Россия, Москва
ICQ Website Skype VK

#3by dyvniy » Thu, 27 Apr 2017, 16:39:16

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

Code: Select all

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

Code: Select all

#!/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_процесса
Image


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

Quick reply


Enter the code exactly as it appears. All letters are case insensitive.
Confirmation code
:) ;) :hihi: :P :hah: :haha: :angel: :( :st: :_( :cool: 8-| :beee: :ham: :rrr: :grr: :* :secret: :stupid: :music: View more smilies
   

Return to “Python”

Who is online (over the past 15 minutes)

Users browsing this forum: 2 guests