nodejs httpserver

用nodejs服务器去拿取后台的数据。(我刚开始学的nodejs的时候是一个蒙圈的宝宝 t.t,开始接触的时候,在本地搭建去拿数据。之前菜鸟的我都不知道路由是神马[囧囧])。

--> index.js

var server = require("./server");
var router = require("./router");
var requestHandlers = require("./requestHandlers");
var handle = {};
handle["/get_data"] = requestHandlers.get_data;
server.start(router.route, handle);

--> server.js

var http = require("http");
var url = require("url");
function start(route, handle) {
  function onRequest(request, response) {
    var postData = "";
    var pathname = url.parse(request.url).pathname;
    var getData  = url.parse(request.url).query;
    console.log("Request for " + pathname + " received.");
    request.setEncoding("utf8");
    request.addListener("data", function(postDataChunk) {
      postData += postDataChunk;
      console.log("Received POST data chunk ‘"+ postDataChunk + "‘.");
    });
    request.addListener("end", function() {
      if(postData == ""){
           postData = getData;
      }
      route(handle, pathname, response, postData);
    });
  }
  http.createServer(onRequest).listen(8888);//当你成功滴时候,你的数据在这里。
  console.log("Server has started.");
}
exports.start = start;

--> router.js

function route(handle, pathname, response, postData) {
  console.log("About to route a request for " + pathname);
  if (typeof handle[pathname] === ‘function‘) {
    handle[pathname](response, postData);
  } else {
    console.log("No request handler found for " + pathname);
    response.writeHead(404, {"Content-Type": "text/plain"});
    response.write("404 Not found");
    response.end();
  }
}
exports.route = route;

--> requestHandlers.js

var querystring = require("querystring");
var request = require(‘request‘);//请求模块
//get data
function get_data(res, postData) {
        console.log(‘get debug post data‘,JSON.stringify(postData));
        request.post({
                        url : ‘xxx.xx.xxx‘,//你请求后台的链接
                        form : {
                              //params,你的请求的参数
                        }
                }, function(error, response, body) {
                        console.log(‘body is‘,body);
                        res.writeHead(200,{‘Content-Type‘:‘application/json; charset=utf8‘, ‘Access-Control-Allow-Origin‘:‘*‘, ‘Accept-Language‘:‘zh-CN‘});//响应头
                        res.end(body);
                });
}
exports.get_data = get_data;

然后,你可以启动你的服务:node index,当命令行出现  “Server has started”。如果出现什么错误的话,可能的情况是你的node_modules里的模块没有安装完成,按照缺少的安装就好了。对了,还有一个package.json,通过 npm init去生成。npm install xxx --dev去安装相应的包。然后去你的浏览器输入 127.0.0.1:8888/get_data,看有没有你想要的数据哦。

				
时间: 2024-08-24 03:17:24

nodejs httpserver的相关文章

用nodejs http-server搭建本地服务环境

一.本地环境,不包括域名的方法: https://www.npmjs.com/package/http-server(参考手册) 正确使用方法: 二.带域名的配置方法: https://cnodejs.org/topic/50d41da5637ffa4155f63179和http://blog.csdn.net/yuan882696yan/article/details/25052469(参考方法) nodejs通过代理(proxy)发送http请求(request): 方法一: request

NodeJS服务器端平台实践记录

[2015 node.js learning notes]by lijun 01-note Nodejs是服务器端的javascript,是一种单线程.异步I/O.事件驱动型的javascript:其基本架如下: n Node标准库(javascript实现) n C/C++实现 u Node下层接口 u V8核 u Libuv/Libio/Libev/IOCP Nodejs是CommonJS规范API的一种实现. 2-note Nodejs的下载.安装.测试(windows版本).运行,npm

window下,nodejs 安装 http-server,开启命令行HTTP服务器

第一步:http://nodejs.cn/  官网下载安装文件,安装nodejs: 第二步:运行中输入cmd进入命令行模式,输入  node -v ,显示版本号,代表安装成功: 第三步:在node命令行下,输入 npm install http-server -g,安装成功后 会出现上图这样的文字,把上面选中那行加入环境变量PATH中. 第四步:进入你的文件目录,输入http-server 显示上图,在浏览器输入 http://127.0.0.1:8088 ,即可以显示你的文件目录里的index

一个简单的零配置命令行HTTP服务器 - http-server (nodeJs)

http-server 是一个简单的零配置命令行HTTP服务器, 基于 nodeJs. 如果你不想重复的写 nodeJs 的 web-server.js, 则可以使用这个. 安装 (全局安装加 -g) : npm install http-server 使用 : 在站点目录下开启命令行输入 node http-server 使用于package.json "scripts": { "start": "http-server -a 0.0.0.0 -p 80

http-server 基于nodejs的http服务器

http-server所用场景: 作为前端的同学来说,想要运行一段代码,但又没有必要使用tomcat或是Apache http server,这个时候,一个简单的轻量的http-server就能搞定. 当前端开发完成后,需要我们打包部署,此时一般就会生成一个dist文件夹,里面存放的是一些静态文件,当我们在编辑器里直接运行这些静态文件时,很可能会出现"because its MIME type ('text/html') is not a supported stylesheet MIME ty

使用http-server (nodeJs)期一个简单的服务

1.首先建一个空文件夹 2.直接在该目录下,全局安装http-server 3.在新建的文件夹中放你前端打包好的项目文件夹. 4.然后在输入hs ./pub 5.此时服务启动,可以在同一局域网访问项目.http://172.16.17.225:8080/index.html  注:http-server   不定义路径 默认文件夹是 public. 据说会默认执行我们文件目录下的index.html文件,但是博主没能测试成功(是直接端口后手动  /index.html). 6. 下面是githu

node.js第十课(HTTPserver)

 概念:Node.js提供了http模块.当中封装了一个高效的HTTPserver和一个简单的HTTPclient. http.server是一个基于事件的HTTP服务器.内部用C++实现.接口由JavaScript封装. http.request则是一个HTTPclient工具.用户向server发送请求. 一.HTTPserver http.Server实现的,它提供了一套封装级别非常低的API,不过流控制和简单的解析,全部的高层功能都须要通过它的接口 前面解说的app.js案例 代码分

Nodejs+Express创建HTTPS服务器

为了使我的Nodejs服务器提供HTTPS服务,学习了一下如何利用express创建https服务器,现记录如下.(一点一点的积累与掌握吧) 1. Http与Https 介绍 HTTP: 超文本传输协议 (Hypertext transfer protocol) 是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议. HTTPS:(Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的

用http-server 创建node.js 静态服务器

今天做一本书上的例子,结果代码不能正常运行,查询了一下,是语法过时了,书其实是新买的,出版不久. 过时代码如下 var connect=require('connect'); connect.createServer( connect.static("../angularjs") ).listen(5000); 错误提示:connect.static不是一个方法 由于我的目的是练习angularjs,不是学习nodejs,所以不去深究,只要能建立一个简单的服务器就行 在网上搜到的方法是