{"id":1522,"date":"2019-02-01T09:49:11","date_gmt":"2019-02-01T09:49:11","guid":{"rendered":"http:\/\/rathervague.co.uk\/writings\/?p=1522"},"modified":"2022-11-17T20:39:47","modified_gmt":"2022-11-17T20:39:47","slug":"simple-webserver","status":"publish","type":"post","link":"http:\/\/rathervague.co.uk\/writings\/tech\/webdev\/simple-webserver\/","title":{"rendered":"Simple webserver"},"content":{"rendered":"<p>The SimpleHTTPServer module can be used in the following manner in order to set up a very basic web server serving files relative to the current directory.<\/p>\n<pre>import SimpleHTTPServer\nimport SocketServer\n\nPORT = 8000\n\nHandler = SimpleHTTPServer.SimpleHTTPRequestHandler\n\nhttpd = SocketServer.TCPServer((\"\", PORT), Handler)\n\nprint \"serving at port\", PORT\nhttpd.serve_forever()\n<\/pre>\n<p>The SimpleHTTPServer module can also be invoked directly using the -m switch of the interpreter with a port number argument. Similar to the previous example, this serves the files relative to the current directory.<\/p>\n<p>python -m SimpleHTTPServer 8000<\/p>\n<p><strong>Now can be started via<\/strong><\/p>\n<p>python3 -m http.server 8000<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The SimpleHTTPServer module can be used in the following manner in order to set up a very basic web server serving files relative to the current directory. import SimpleHTTPServer import SocketServer PORT = 8000 Handler = SimpleHTTPServer.SimpleHTTPRequestHandler httpd = SocketServer.TCPServer((&#8220;&#8221;, PORT), Handler) print &#8220;serving at port&#8221;, PORT httpd.serve_forever() The SimpleHTTPServer module can also be invoked &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/rathervague.co.uk\/writings\/tech\/webdev\/simple-webserver\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Simple webserver&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":486,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[65],"class_list":["post-1522","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-webdev","tag-python"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Simple webserver -<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/rathervague.co.uk\/writings\/tech\/webdev\/simple-webserver\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Simple webserver -\" \/>\n<meta property=\"og:description\" content=\"The SimpleHTTPServer module can be used in the following manner in order to set up a very basic web server serving files relative to the current directory. import SimpleHTTPServer import SocketServer PORT = 8000 Handler = SimpleHTTPServer.SimpleHTTPRequestHandler httpd = SocketServer.TCPServer((&quot;&quot;, PORT), Handler) print &quot;serving at port&quot;, PORT httpd.serve_forever() The SimpleHTTPServer module can also be invoked &hellip; Continue reading &quot;Simple webserver&quot;\" \/>\n<meta property=\"og:url\" content=\"http:\/\/rathervague.co.uk\/writings\/tech\/webdev\/simple-webserver\/\" \/>\n<meta property=\"article:published_time\" content=\"2019-02-01T09:49:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-11-17T20:39:47+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/rathervague.co.uk\/writings\/wp-content\/uploads\/2018\/04\/idle2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Del Sozou\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Del Sozou\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"http:\/\/rathervague.co.uk\/writings\/tech\/webdev\/simple-webserver\/\",\"url\":\"http:\/\/rathervague.co.uk\/writings\/tech\/webdev\/simple-webserver\/\",\"name\":\"Simple webserver -\",\"isPartOf\":{\"@id\":\"https:\/\/rathervague.co.uk\/writings\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\/\/rathervague.co.uk\/writings\/tech\/webdev\/simple-webserver\/#primaryimage\"},\"image\":{\"@id\":\"http:\/\/rathervague.co.uk\/writings\/tech\/webdev\/simple-webserver\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/rathervague.co.uk\/writings\/wp-content\/uploads\/2018\/04\/idle2.png\",\"datePublished\":\"2019-02-01T09:49:11+00:00\",\"dateModified\":\"2022-11-17T20:39:47+00:00\",\"author\":{\"@id\":\"https:\/\/rathervague.co.uk\/writings\/#\/schema\/person\/fe809b475960f6033b624e283866d122\"},\"breadcrumb\":{\"@id\":\"http:\/\/rathervague.co.uk\/writings\/tech\/webdev\/simple-webserver\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/rathervague.co.uk\/writings\/tech\/webdev\/simple-webserver\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"http:\/\/rathervague.co.uk\/writings\/tech\/webdev\/simple-webserver\/#primaryimage\",\"url\":\"http:\/\/rathervague.co.uk\/writings\/wp-content\/uploads\/2018\/04\/idle2.png\",\"contentUrl\":\"http:\/\/rathervague.co.uk\/writings\/wp-content\/uploads\/2018\/04\/idle2.png\",\"width\":1000,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/rathervague.co.uk\/writings\/tech\/webdev\/simple-webserver\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\/\/rathervague.co.uk\/writings\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Simple webserver\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/rathervague.co.uk\/writings\/#website\",\"url\":\"https:\/\/rathervague.co.uk\/writings\/\",\"name\":\"\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/rathervague.co.uk\/writings\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/rathervague.co.uk\/writings\/#\/schema\/person\/fe809b475960f6033b624e283866d122\",\"name\":\"Del Sozou\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Simple webserver -","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/rathervague.co.uk\/writings\/tech\/webdev\/simple-webserver\/","og_locale":"en_GB","og_type":"article","og_title":"Simple webserver -","og_description":"The SimpleHTTPServer module can be used in the following manner in order to set up a very basic web server serving files relative to the current directory. import SimpleHTTPServer import SocketServer PORT = 8000 Handler = SimpleHTTPServer.SimpleHTTPRequestHandler httpd = SocketServer.TCPServer((\"\", PORT), Handler) print \"serving at port\", PORT httpd.serve_forever() The SimpleHTTPServer module can also be invoked &hellip; Continue reading \"Simple webserver\"","og_url":"http:\/\/rathervague.co.uk\/writings\/tech\/webdev\/simple-webserver\/","article_published_time":"2019-02-01T09:49:11+00:00","article_modified_time":"2022-11-17T20:39:47+00:00","og_image":[{"width":1000,"height":300,"url":"http:\/\/rathervague.co.uk\/writings\/wp-content\/uploads\/2018\/04\/idle2.png","type":"image\/png"}],"author":"Del Sozou","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Del Sozou","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"http:\/\/rathervague.co.uk\/writings\/tech\/webdev\/simple-webserver\/","url":"http:\/\/rathervague.co.uk\/writings\/tech\/webdev\/simple-webserver\/","name":"Simple webserver -","isPartOf":{"@id":"https:\/\/rathervague.co.uk\/writings\/#website"},"primaryImageOfPage":{"@id":"http:\/\/rathervague.co.uk\/writings\/tech\/webdev\/simple-webserver\/#primaryimage"},"image":{"@id":"http:\/\/rathervague.co.uk\/writings\/tech\/webdev\/simple-webserver\/#primaryimage"},"thumbnailUrl":"http:\/\/rathervague.co.uk\/writings\/wp-content\/uploads\/2018\/04\/idle2.png","datePublished":"2019-02-01T09:49:11+00:00","dateModified":"2022-11-17T20:39:47+00:00","author":{"@id":"https:\/\/rathervague.co.uk\/writings\/#\/schema\/person\/fe809b475960f6033b624e283866d122"},"breadcrumb":{"@id":"http:\/\/rathervague.co.uk\/writings\/tech\/webdev\/simple-webserver\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["http:\/\/rathervague.co.uk\/writings\/tech\/webdev\/simple-webserver\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"http:\/\/rathervague.co.uk\/writings\/tech\/webdev\/simple-webserver\/#primaryimage","url":"http:\/\/rathervague.co.uk\/writings\/wp-content\/uploads\/2018\/04\/idle2.png","contentUrl":"http:\/\/rathervague.co.uk\/writings\/wp-content\/uploads\/2018\/04\/idle2.png","width":1000,"height":300},{"@type":"BreadcrumbList","@id":"http:\/\/rathervague.co.uk\/writings\/tech\/webdev\/simple-webserver\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/rathervague.co.uk\/writings\/"},{"@type":"ListItem","position":2,"name":"Simple webserver"}]},{"@type":"WebSite","@id":"https:\/\/rathervague.co.uk\/writings\/#website","url":"https:\/\/rathervague.co.uk\/writings\/","name":"","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/rathervague.co.uk\/writings\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Person","@id":"https:\/\/rathervague.co.uk\/writings\/#\/schema\/person\/fe809b475960f6033b624e283866d122","name":"Del Sozou"}]}},"_links":{"self":[{"href":"http:\/\/rathervague.co.uk\/writings\/wp-json\/wp\/v2\/posts\/1522","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/rathervague.co.uk\/writings\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/rathervague.co.uk\/writings\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/rathervague.co.uk\/writings\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/rathervague.co.uk\/writings\/wp-json\/wp\/v2\/comments?post=1522"}],"version-history":[{"count":3,"href":"http:\/\/rathervague.co.uk\/writings\/wp-json\/wp\/v2\/posts\/1522\/revisions"}],"predecessor-version":[{"id":1584,"href":"http:\/\/rathervague.co.uk\/writings\/wp-json\/wp\/v2\/posts\/1522\/revisions\/1584"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/rathervague.co.uk\/writings\/wp-json\/wp\/v2\/media\/486"}],"wp:attachment":[{"href":"http:\/\/rathervague.co.uk\/writings\/wp-json\/wp\/v2\/media?parent=1522"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/rathervague.co.uk\/writings\/wp-json\/wp\/v2\/categories?post=1522"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/rathervague.co.uk\/writings\/wp-json\/wp\/v2\/tags?post=1522"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}