powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Простой http сервер
5 сообщений из 5, страница 1 из 1
Простой http сервер
    #39024362
ALex_hha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно сабж, есть простенький код. Который выводит значение GET.

Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
from BaseHTTPServer import HTTPServer
from BaseHTTPServer import BaseHTTPRequestHandler
import urlparse


class HttpHandler(BaseHTTPRequestHandler):
    protocol_version = "HTTP/1.0"

    def do_GET(self):
        token = str.split(urlparse.urlparse(self.path, scheme='http').query, '=')[1]
        self.send_response(200)
        self.send_header('content-type', 'text/plain')
        self.send_header('content-length', len(token))
        self.end_headers()
        self.wfile.write(token)

server = HTTPServer(("localhost", 8888), HttpHandler)
server.serve_forever()



собственно вопрос, как сделать, чтобы сервер останавливался после первого запроса? Т.е. после того, как я в командной строке выполнил

> curl http://localhost:8888/test.py?code=1234567
...
Рейтинг: 0 / 0
Простой http сервер
    #39024455
ALex_hha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь за не точность (к сожалению название темы не могу изменить) - код на python.
...
Рейтинг: 0 / 0
Простой http сервер
    #39024468
Фотография Karbafos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
server.serve_once()
...
Рейтинг: 0 / 0
Простой http сервер
    #39024542
ALex_hha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет такого метода или что то не так делаю?

P.S.
python-2.7.10
...
Рейтинг: 0 / 0
Простой http сервер
    #39024578
ALex_hha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал как то так

Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
from BaseHTTPServer import HTTPServer
from BaseHTTPServer import BaseHTTPRequestHandler
import urlparse
import time

need_exit = 0


def keep_running():
    if need_exit:
        return False
    else:
        return True


class HttpHandler(BaseHTTPRequestHandler):
    protocol_version = "HTTP/1.0"

    def do_GET(self):
        token = str.split(urlparse.urlparse(self.path, scheme='http').query, '=')[1]
        global need_exit

        self.send_response(200)
        self.send_header('content-type', 'text/plain')
        self.send_header('content-length', len(token))
        self.send_header('Last-Modified', self.date_time_string(time.time()))
        self.end_headers()
        self.wfile.write(token)
        need_exit = 1

server = HTTPServer(("localhost", 8888), HttpHandler)
while keep_running():
    server.handle_request()



P.S.
Может я придумываю велосипед, в php я могу вывести значение get очень просто

Код: php
1.
2.
3.
4.
<?php
    if(isset($_GET['code'])) {
        echo $_GET['code'];
    }



А на питоне приходится парсить строку или все таки есть какая то либа, которая возвращала бы некий массив $_GET ?
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Простой http сервер
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]