PythonNetworking - mwicat/personal GitHub Wiki

Echoserver

Web server with no dependencies

sudo pip install bottle

or

wget https://github.com/bottlepy/bottle/raw/master/bottle.py

from bottle import route, run, template

@route('/hello/<name>')
def index(name):
    return template('<b>Hello {{name}}</b>!', name=name)

run(host='localhost', port=8080)

Dump requests

import logging

def debug_requests_on():
    """Switches on logging of the requests module."""

    try:
        from http.client import HTTPConnection  # py3
    except ImportError:
        from httplib import HTTPConnection  # py2

    HTTPConnection.debuglevel = 1

    logging.basicConfig()
    logging.getLogger().setLevel(logging.DEBUG)
    requests_log = logging.getLogger("requests.packages.urllib3")
    requests_log.setLevel(logging.DEBUG)
    requests_log.propagate = True

debug_requests_on()

SSL server

openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes

py2:

#!/usr/bin/env python
import BaseHTTPServer, SimpleHTTPServer
import ssl

httpd = BaseHTTPServer.HTTPServer(('0.0.0.0', 443), SimpleHTTPServer.SimpleHTTPRequestHandler)
httpd.socket = ssl.wrap_socket (httpd.socket, certfile='./server.pem', server_side=True)
httpd.serve_forever()

py3:

#!/usr/bin/env python
import http.server
import ssl

httpd = http.server.HTTPServer(('localhost', 4443), http.server.SimpleHTTPRequestHandler)
httpd.socket = ssl.wrap_socket (httpd.socket, certfile='./server.pem', server_side=True)
httpd.serve_forever()
sudo socat openssl-listen:443,reuseaddr,fork,cert=server.pem,verify=0 -
⚠️ **GitHub.com Fallback** ⚠️