返回列表

nodejs http 发送GET请求

默认分类 2015/10/23 08:08

GET请求:

var http = require('http');

var qs = require('querystring');

var data = {
    a: 123,
    time: new Date().getTime()};//这是需要提交的数据


var content = qs.stringify(data);

var options = {
    hostname: '127.0.0.1',
    port: 10086,
    path: '/pay/pay_callback?' + content,
    method: 'GET'
};

var req = http.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);
});

req.end();

POST请求:

var http = require('http');

var qs = require('querystring');

var post_data = {
    a: 123,
    time: new Date().getTime()};//这是需要提交的数据


var content = qs.stringify(post_data);

var options = {
    hostname: '127.0.0.1',
    port: 10086,
    path: '/pay/pay_callback',
    method: 'POST',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
    }
};

var req = http.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();

或者

'use strict';
var formidable = require('formidable');
var formdata = require('form-data');
var fs = require('fs');

function uploadFile (req, res, next) {
    // parse a file upload 
    var form = new formidable.IncomingForm();
    form.uploadDir = '../public/upload_tmp';
    form.keepExtensions = true;
    form.multiples = true;

    form.parse(req, function (err, fields, files) {
        uploadToRemoteImageServer(fs.createReadStream('/public/id_card.png'), function () {
            res.writeHead(200, {
                'content-type': 'text/plain'
            });
            res.write(response + 'received upload:');
            res.end({
                fields: fields,
                files: files
            });
        });

    });
};

function uploadToRemoteImageServer(file, next) {
    var form = new formdata();
    form.append('my_field', 'my value');
    // form.append('my_buffer', new Buffer(10));
    form.append('my_file', file);

    form.submit('http://127.0.0.1:3000/api/Image/Upload?PicType=product', function (err, response) {
        // response – response object (http.IncomingMessage)  // 
        // response.resume();

        next();
    });
}