Skip to content

HTTP SERVER to test POST and GET requests

License

Notifications You must be signed in to change notification settings

matiaspl/pyserv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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)

About

HTTP SERVER to test POST and GET requests

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages