Einfacher HTTP-Server mit Python

Dies ist eine Methode zum schnellen Erstellen eines HTTP-Servers für eine kleine Funktionsprüfung.

CallbackServer.py


#!/usr/bin/env python

import requests
from BaseHTTPServer import HTTPServer
from BaseHTTPServer import BaseHTTPRequestHandler
import urlparse

def start(port, callback):
    def handler(*args):
        CallbackServer(callback, *args)
    server = HTTPServer(('', int(port)), handler)
    server.serve_forever()

class CallbackServer(BaseHTTPRequestHandler):
    def __init__(self, callback, *args):
        self.callback = callback
        BaseHTTPRequestHandler.__init__(self, *args)

    def do_GET(self):
        parsed_path = urlparse.urlparse(self.path)
        query = parsed_path.query
        self.send_response(200)
        self.end_headers()
        result = self.callback(query)
        message = '\r\n'.join(result)
        self.wfile.write(message)
        return

Es definiert eine Klasse, die eine Rückruffunktion basierend auf HTTPServer festlegt. Bitte installieren Sie Anfragen mit pip etc.

Wie man es benutzt ist so.

simple_test.py


#!/usr/bin/env python
# coding:utf-8

import sys
import CallbackServer

def callback_method(query):
    return ['Hello', 'World!', 'with', query]

if __name__ == '__main__':
    port = sys.argv[1]
    CallbackServer.start(port, callback_method)

Wenn Sie nur die Portnummer erhalten und die Portnummer und die Methode (callback_method) übergeben, die bei einem HTTP-Zugriff aufgerufen wird, wird der HTTP-Server ohne Erlaubnis hochgefahren. callback_method empfängt eine GET-Abfrage (hinter? In der URL) als Argument und gibt die als Antwort zurückgegebene Zeichenfolge mit return zurück. Wenn Sie eine Liste von Zeichenfolgen zurückgeben, wird diese von CRLF ohne Erlaubnis unterbrochen.

Anlaufen

./simple_test.py 12345

Wenn Sie danach über den Browser auf "http: // localhost: 12345 /? Hoge = 123" zugreifen

Hello
World!
with
hoge=123

Wird ausgegeben.

Recommended Posts

Einfacher HTTP-Server mit Python
HTTP-Kommunikation mit Python
Lokaler Server mit Python
[Analyse des gemeinsamen Auftretens] Einfache Analyse des gemeinsamen Auftretens mit Python! [Python]
Einfache Ordnersynchronisation mit Python
Einfache Python-Kompilierung mit NUITKA-Utilities
Einfacher HTTP-Server für Python
[Python] Einfache Parallelverarbeitung mit Joblib
Schreiben Sie einen HTTP / 2-Server in Python
Einfache Mailübertragung mit Eile Python3
Bayesianische Optimierung, die mit Python sehr einfach ist
Visualisieren Sie Ihre Daten ganz einfach mit Python Seaborn.
Einfache parallele Ausführung mit Python-Unterprozess
FizzBuzz in Python3
Einfache Schlüsselwortextraktion mit TermExtract für Python
Scraping mit Python
[Python] Super einfacher Test mit Assert-Anweisung
[Python] Einfache Überprüfung des Argumenttyps mit Datenklasse
Python ist einfach
[In-Database Python Analysis Tutorial mit SQL Server 2017]
Scraping mit Python
HTTP Split Download Typ mit Python gemacht
Python mit Go
Twilio mit Python
In Python integrieren
Einfache Einführung der Spracherkennung mit Python
Spielen Sie mit 2016-Python
AES256 mit Python
Getestet mit Python
Python beginnt mit ()
[Easy Python] Lesen von Excel-Dateien mit openpyxl
mit Syntax (Python)
Einfache Web-App mit Python + Flask + Heroku
Bingo mit Python
Zundokokiyoshi mit Python
Verarbeiten Sie Bilder in Python ganz einfach mit Pillow
[Easy Python] Lesen von Excel-Dateien mit Pandas
Einfaches Web-Scraping mit Python und Ruby
[Python] Probieren Sie mit Keras-RL ganz einfach erweitertes Lernen (DQN) aus
Excel mit Python
Mikrocomputer mit Python
Mit Python besetzen
Einfache Serverüberwachung mit AWS Lambda (Python) und Ergebnisbenachrichtigung mit Slack
[Python] Einfache Einführung in das maschinelle Lernen mit Python (SVM)
CSV-Ausgabe der Google-Suche mit [Python]! 【Einfach】
ODBC-Verbindung zu FileMaker 11 Server Advanced mit Python 3
Python Web Content mit Lolipop billigen Server gemacht
Starten Sie mit Docker einen einfachen Python-Webserver
Senden Sie HTTP mit dem Standardauthentifizierungsheader in Python
Erstellen Sie in Tornado einen HTTP-Server (Hello World)
Einfache LASSO-Regressionsanalyse mit Python (keine Theorie)
Erstellen Sie schnell einen API-Server mit Python + Falcon
✨ Einfach mit Python ☆ Geschätzte verstrichene Zeit nach dem Tod ✨
Serielle Kommunikation mit Python
TFTP-Server mit Docker
Zip, entpacken mit Python
Django 1.11 wurde mit Python3.6 gestartet
Python mit Eclipse + PyDev.
Socket-Kommunikation mit Python