文章7:编程语言开发数据接口以及搭建服务器

Node编写服务器

  • 基于原生的http模块开发本地服务器

    //(1)使用原生的HTTP开发服务器
    const http = require('http')
    //处理get请求
    var server = http.createServer((req,res)=>{
        res.writeHead(200,{'Content-Type':'text/plain;charset=utf-8'})
        res.write('hello world')
        res.end()
    })
    //监听端口
    server.listen(3000)
        //(2)处理post
        //处理post事件
        const http = require('http')
        const qs = require('querystring')
        var postHtml = 
        `
          <html>
            <head>
              <meta charset="utf-8">
              <title>POST</title>
            </head>
            <body>
              <form method="post">
                <label>用户</label><input name="uname"/>
                <label>密码</label><input name="upwd" type="password"/>
                <br>
                <input type="submit"/>
              </form>
            </body>
          </html>
        `
        var server = http.createServer((req,res)=>{
          var body = ""
          //处理post方式请求
          req.on('data',(data)=>{
            body += data
          })
          req.on('end',()=>{
            body = qs.parse(body)
            res.writeHead(200,{'Content-Type':'text/html;charset=utf-8'})
            if(body.uname&&body.upwd){
              res.write(body.uname)
              res.write('<br>')
              res.write(body.upwd)
            }else{
              res.write(postHtml)
            }
            res.end()
          })
        })
        //console.log(server)
        server.listen(3000)

Node编写ajax请求接口

  • 基于express第三方模块开发

    //第三方模块构建特别方便
    //文件名:main.js
    const express = require('express')
    const bodyParser = require('body-parser')
    var app =  express()
    app.use(bodyParser.urlencoded({extended:false}))
    //处理get方式请求
    app.get('/',(req,res)=>{
        res.send('hello world')
    })
    //处理post方式请求
    app.post('/login',(req,res)=>{
        var uname = req.body.uname
        var upwd = req.body.upwd
        res.send({code:1,msg:"success"})
    })
    app.listen(3000)

解释:上面的本地服务器是基于express框架写的,首先必须引入第三方模块。

  • 引入步骤:

    1. $ npm i express($是指当前脚本文件所在的目录);
    2. 然后就可以使用该模块啦,首先解释get方式请求

      • get方式请求用许多方式比如:

        • form表单
        • ajax方式
        • 地址栏直接输入
      • post方式请求

        • ajax方式请求;
        • form表单请求。这里在post方式请求如果有参数的话,还需要引入body-parser模块,用来解析req.body中的参数(至于怎样传参我这就不说啦)。
    3. 比较:res.send()方法与res.write()方法res.write():res.writeHead(200{“Content-Type”:”text/plain;charset=utf-8″});res.write(‘hello world’);res.end();res.send():一步res.send()相当于上面的三步

备注:通常路由接口是放在单独的文件中然后在引入的,我这里直接将接口写在里面啦,浏览器默认是get方式请求;所谓的接口其实就是路径:上诉代码的运行流程如下:当前目录下 打开控制台:输入node main 然后在浏览器输入:
http:127.0.0.1:3000 就会打印出 “hello world”。上面还有一个接口”/login”这个接口只能以post方式请求,才会响应数据,所
http:127.0.0.1:3000/login是没有反应的

Python编写服务器

#使用HTTPServer构建服务器(python版本3.71)
#直接输入命令:py -m http.server 8080

Python编写ajax请求接口

使用python编写ajax数据接口

    原文作者:arrowfield
    原文地址: https://segmentfault.com/a/1190000017052005
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞