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

猜你喜欢

转载自roomfourteen224.iteye.com/blog/2220333