Skip to content

Latest commit

 

History

History
executable file
·
93 lines (66 loc) · 1.6 KB

README.md

File metadata and controls

executable file
·
93 lines (66 loc) · 1.6 KB

HTTPD Python Server

Installation and usage

pip install pyserv
serv [port]

Examples :

serv 8080

The output would be

...
INFO:root:Starting HTTP SERVER at PORT 8080

GET and POST request example

Open a new terminal and try out sending GET and POST requests

$ python
>>> import requests
>>> URL = 'http://0.0.0.0:8080'
>>> r = requests.get(URL)
>>> print(r.text)
GET request for /

On the server side you would get

INFO:root:GET  request,
Path: /
Headers:
Host: 0.0.0.0:8080
User-Agent: python-requests/2.21.0
Accept-Encoding: gzip, deflate
Accept: */*
Connection: keep-alive



127.0.0.1 - - [18/Dec/2019 18:01:52] "GET / HTTP/1.1" 200 -

POST request to the server

>>> import requests
>>> URL = 'http://0.0.0.0:8080'
>>> r = requests.post(URL)
>>> print(r.text)
POST request for /

On the server side you will get

INFO:root:POST  request,
Path: /
Headers:
Host: 0.0.0.0:8080
User-Agent: python-requests/2.21.0
Accept-Encoding: gzip, deflate
Accept: */*
Connection: keep-alive
Content-Length: 0



Body:


127.0.0.1 - - [18/Dec/2019 18:03:07] "POST / HTTP/1.1" 200 -

If no port is mentioned the server attempts to run on port 8080.

If the given port (or the default port 8080) is already in use the server attempts to bind the next port. If the server does not find any free port after 50 attempts the server stops.

Link to the PyPI project : https://pypi.org/project/pyserv/ Motivation : https://gist.github.com/mdonkers/63e115cc0c79b4f6b8b3a6b797e485c7 (The Project is a extention of the github gist)