`

nodejs express via ssl 发送接受json post请求

阅读更多

 

#client.js
/**
 * Created by jinyuj on 6/16/2015.
 */
var https = require('https'),
    qs = require('querystring'),
    fs=require('fs')


var post_data=JSON.parse(fs.readFileSync('./public/files/v4x-sample.json'))
console.log(post_data)
var content = JSON.stringify(post_data);
console.log(content)

var options = {
    hostname: 'www.vropserver.com',
    port: 3000,
    path: '/data/metrics',
    method: 'POST',
    json:true,
    ca: fs.readFileSync('./ca/my-root-ca.crt.pem'),
    headers: {
        'Content-Type': 'application/json; charset=UTF-8'
    }
};

var req = https.request(options, function (res) {
    console.log('STATUS: ' + res.statusCode);
    console.log('HEADERS: ' + JSON.stringify(res.headers));
    res.setEncoding('utf8');
    res.on('data', function (chunk) {
        console.log('BODY: ' + chunk);
    });
});

req.on('error', function (e) {
    console.log('problem with request: ' + e.message);
});

// write data to request body
req.write(content);

req.end();

#client.js ends

 

#main.js
/**
 * Created by jinyukai on 6/15/15.
 */


var express=require('express'),
https=require('https'),
fs=require('fs'),
bodyParser=require('body-parser'),
multer=require('multer')

var app=express()
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({extended:true}))
app.use(multer())

var caoptions={
    key: fs.readFileSync('./ca/my-server.key.pem'),
cert:fs.readFileSync('./ca/my-server.crt.pem')
}


app.get('/file/:name',function(req,res){

    var options={
        root:__dirname+'/public/files/',
dotfiles:'deny',
headers:{
            'x-timestamp':Date.now(),
'x-sent':true
}
    }

    var fileName=req.params.name+".json"

console.log("get request, filename is: %s",fileName)
    res.sendFile(fileName,options,function(err){
        if(err){
            console.log(err)
            res.status(err.status).end()
        }else{
            console.log('Sent:',fileName)
        }
    })

})

app.post('/data/metrics',function(req,res){
    var options={
        root:__dirname+'/public/files/',
dotfiles:'deny',
headers:{
            'x-timestamp':Date.now(),
'x-sent':true
}
    }

    var dataContent=req.body
    console.log(dataContent)

   // console.log("get post request, id:%s, time:%s",req.query.id,req.query.time)
res.send("get post data.")
})


var server=https.createServer(caoptions, app).listen(3000,function(){
    var host=server.address().address
    var port=server.address().port
    console.log('Example app listening at http://%s:%s',host,port)
});

#main.js ends

 

 

分享到:
评论

相关推荐

    本文主要介绍NodeJS+Express+Mysql 实现POST和GET请求的增删改查

    本文主要介绍NodeJS+Express+Mysql 实现POST和GET请求的增删改查,后续会在博客发布详细说明,可以关注一下

    nodejs实现HTTPS发起POST请求

    在POST请求中,通常包含请求体,其中包含需要发送给服务器的数据。在Node.js中,通过https模块发起HTTPS POST请求,需要构建POST请求的选项对象,包括设置请求头、方法、端口等。 Node.js内置的https模块用于处理...

    nodejs post 方法发送请求

    使用nodejs的http模块来完成post请求,函数为 http.request(options, callback)#

    nodejs使用http模块发送get与post请求的方法示例

    本文实例讲述了nodejs使用http模块发送get与post请求的方法。分享给大家供大家参考,具体如下: GET请求 var http = require('http'); var querystring = require('querystring'); var data = { a: 123, time: ...

    nodejs通过express实现邮件发送

    为了测试这个服务,你可以使用Postman或其他API测试工具,向`http://localhost:3000/send-email`发送POST请求,请求体包含JSON格式的收件人邮箱、邮件主题和正文。例如: ```json { "to": "recipient@example.com"...

    bookstore, 使用 Nodejs Express和MongoDB的简单 RESTful JSON api.zip

    bookstore, 使用 Nodejs Express和MongoDB的简单 RESTful JSON api 书店书店是一个简单的web应用程序,它包括和表达 RESTful API服务器和AngularJS的前端可以在这里找到与这个项目有关的视频教程 ...

    NodeJS+express如何新建一个自己需要的项目

    例如,使用`body-parser`中间件解析POST请求的数据: ``` npm install body-parser --save ``` 然后在`app.js`中引入并使用它: ```javascript const bodyParser = require('body-parser'); app.use...

    nodejs实现post和批量post发送请求的功能

    批量POST通常涉及到向同一API发送多个相似的请求,但数据不同。我们可以创建一个函数,接收一个数据数组,然后对每个数据项执行POST请求: ```javascript function batchPost(dataArray, options) { dataArray....

    nodejs+express 快速搭建Web环境

    本教程将围绕"nodejs+express 快速搭建Web环境"这一主题展开,介绍如何利用这两个工具创建一个简单的Web服务。 首先,安装Node.js是开始的首要步骤。访问Node.js官方网站,根据操作系统下载相应版本的安装包并进行...

    用node开发应用程序,对nodejs+express工程打包封装,通常公司产品化的软件系统,需要标识为公司的logo和版权信息

    用node开发应用程序,通常采用express框架进行功能扩展,当系统开发完成后,需要对nodejs+express工程打包封装。最常用的打包方式是使用pkg。本篇主要解决采用pkg打包后生成exe安装包,默认的图标是node的绿色六边形...

    NodeJS入门项目案例(Express+Mysql)

    例如,`body-parser`中间件用于解析请求体中的JSON或表单数据,这对于处理POST请求非常有用。 项目中的`mysqltest`可能是一个示例数据库脚本或测试文件,用于演示如何与Mysql数据库进行交互。这可能包括创建数据库...

    nodeJS中express框架和mysql简单的连接demo

    向`/insert`发送POST请求,包含JSON格式的用户数据,然后向`/fetch`发送GET请求,查看数据库中的数据。 这个简单的Demo展示了如何在Node.js中使用Express框架与MySQL数据库进行基本的交互。在实际应用中,还需要...

    nodeJs+express+socket.io的即时通信web

    在这个“nodeJs+express+socket.io的即时通信web”项目中,开发者创建了一个简单的聊天室应用,实现了以下几个关键功能: 1. **在线统计**:利用Socket.IO的连接状态管理,可以实时追踪并更新当前在线用户数量。...

    nodejs express模块

    4. **响应对象**:`res` 对象提供了多种方法来发送响应,如 `res.send()`, `res.json()`, `res.redirect()` 等。 ### 二、安装与基本设置 要在项目中使用 Express,首先需要通过 npm(Node.js 包管理器)安装它: ...

    JavaScript_解析服务器为Nodejs Express.zip

    例如,使用`express.json()`和`express.urlencoded()`中间件来解析请求体中的JSON或URL编码数据。 创建路由是Express的另一个关键任务。通过`.get()`, `.post()`, `.put()`, `.delete()`等方法定义HTTP方法对应的...

    vue+nodejs+express+mybatis

    Vue.js、Node.js、Express和MyBatis是四个在Web开发中广泛应用的技术栈。这个项目案例结合了前端的Vue.js框架、后端的Node.js与Express框架,以及数据库操作的MyBatis持久层框架,构建了一个完整的Web应用程序。下面...

    NodeJS+Express+MongoDB简单博客系统

    在这个博客系统中,Express.js被用来定义路由,处理GET和POST请求,如获取博客列表、创建新博客、编辑和删除博客等。 **MongoDB** MongoDB是一个NoSQL数据库,它使用文档型数据模型,支持JSON格式的数据存储。在这...

    Nodejs开发指南博客实例(支持Express3.0)

    1. **中间件系统重构**:Express3.0移除了`app.controller`,并统一使用`app.use`和`app.get/post/put/delete`等方法来注册中间件。这使得中间件处理更加清晰,减少了代码中的混乱。 2. **依赖注入**:Express3.0...

    nodejs+express+webstorm配置及安装

    nodejs+express+webstorm配置及安装

Global site tag (gtag.js) - Google Analytics