2017-01-13 2 views
0

Я использую класс SimpleHTTPServer в своем коде для ответа на запросы клиентов (на самом деле это mininet скрипт python для сетевого проекта). Клиент посылает запрос каждые 5 секунд на сервер 10.0.0.1:Как настроить страницу, отправленную SimpleHTTPServer?

server.cmd('python -m SimpleHTTPServer 80 &') 

def tcp_thread(client_id): 
    for i in range(180): 
     client_id.cmd('wget -O - 10.0.0.1') 
     time.sleep(5) 

При трассировке с помощью Wireshark, я заметил, что сервер отправляет нежелательную страницу размера 390 байт что-то вроде этого:

Hypertext Transfer Protocol 
    HTTP/1.0 200 OK\r\n 
     [Expert Info (Chat/Sequence): HTTP/1.0 200 OK\r\n] 
     Request Version: HTTP/1.0 
     Status Code: 200 
     Response Phrase: OK 
    Server: SimpleHTTP/0.6 Python/2.7.6\r\n 
    Date: Fri, 08 Jul 2016 16:16:47 GMT\r\n 
    Content-type: text/html; charset=UTF-8\r\n 
    Content-Length: 390\r\n 
    \r\n 
    [HTTP response 1/1] 
    [Time since request: 0.000905000 seconds] 
    [Request in frame: 75] 
    File Data: 390 bytes 

страницы содержание выглядит следующим образом:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><html>\n 
<title>Directory listing for /</title>\n 
<body>\n 
<h2>Directory listing for /</h2>\n 
<hr>\n 
<ul>\n 
<li><a href="experiment.py">experiment.py</a>\n 
<li><a href="experiment1.mn">experiment1.mn</a>\n 
<li><a href="experiment1.py">experiment1.py</a>\n 
<li><a href="README">README</a>\n 
<li><a href="rules.txt">rules.txt</a>\n 
</ul>\n 
<hr>\n 
</body>\n 
</html>\n 

Мой вопрос: Как я могу изменить содержимое страницы, так что я могу увеличить размер на странице, превышающей 390 байт? Я попытался выполнить поиск по настройке страницы и не их адреса, которые явно.

спасибо.

+0

SimpleHTTPServer производит список каталогов. Он будет обслуживать содержимое файла, если вы попросите файл. Что вы на самом деле пытаетесь сделать? –

+0

@JoshLee Большое спасибо за ответ. Я хочу, чтобы сервер отвечал на «пользовательскую страницу», которая может быть больше 390 байт. Я не знаю, могу ли я создать страницу произвольного размера, чтобы сервер использовал ее для ответа. (Я обновил свой пост, чтобы показать страницу по умолчанию, которую отправляет сервер) –

ответ

0

SimpleHTTPServer обслуживает списки каталогов, файлов и index.html, как описано в документации: https://docs.python.org/2.7/library/simplehttpserver.html

Вы можете создать файл index.html в том же каталоге, или вы можете реализовать ответ HTTP себя, переключаясь к BaseHTTPRequestHandler и переопределить do_GET.

Смежные вопросы