zoukankan      html  css  js  c++  java
  • 搭建简易的 http server(nim 学习系列)

    搭建简易的 http server(nim 学习系列)

    像 python 一行命令就可以搭建一个 http server ,方便文件传输。

    python3:

    python -m http.server 80

    python2:

    python -m SimpleHTTPServer 8080

    nim 通过 jester 模块也可实现。

    源代码

    默认端口是 80 ,也可以指定端口,比如:simpleHttp.exe 8080。默认显示当前目录下的所有文件,点击即可下载。

    截图
    编译:

    nim compile -d:release --opt:size simpleHttp.nim

    #[
        Author: StudyCat
        Blog: https://www.cnblogs.com/studycat
        Github: https://github.com/StudyCat404/myNimExamples
        License: BSD 3-Clause
    ]#
    import jester, asyncdispatch, os, strutils
    from net import Port
    
    var listenPort = 80
    if paramCount() > 0:
      listenPort = paramStr(1).parseInt()
      
    settings:
      port = Port(listenPort)
      appName = "/"
      
    proc match(request: Request): Future[ResponseData] {.async.} =
      block route:
        case request.pathInfo
        of "/":
          var html = ""
          for file in walkFiles("*.*"):
            html.add "<li><a href="" & file & "">" & file & "</a></li>"
          resp(html)
          
        else:
          var filename = joinPath(getCurrentDir(), request.pathInfo)
          if fileExists(filename):
            sendFile(filename)
          else:  
            resp Http404, "404 Not found!"
    
    try:        
      var server = initJester(match, settings)
      server.serve()
    except:
      echo getCurrentException().msg  
      
    
  • 相关阅读:
    注册验证
    翻页加输入框
    php面向对象
    封装数据库
    浅谈BFC和haslayout
    总结JS面向对象
    总结(JS)
    转载6
    总结(5.30)
    总结(5.29)
  • 原文地址:https://www.cnblogs.com/StudyCat/p/14465946.html
Copyright © 2011-2022 走看看