node中https请求 | 实现https的请求,获取图片,然后转成base64字节码

get请求 

下面实现https的请求,获取图片,然后转成base64字节码

this.checkCodeUrl = 'https://www.test.com/kaptcha.jsp';
var https = require('https');
https.get(this.checkCodeUrl,function(res){
        var datas = [];
        var size = 0;
        res.on('data', function(data){
            datas.push(data);
            size += data.length;
        })
        res.on('end', function(data){
            var buff = Buffer.concat(datas, size);
            var pic = buff.toString('base64');
            callback({success:true, data:pic});
        })
    }).on('error',function(err){
        console.log('获取验证码异常,异常原因'+err);
        callback({success:false, msg:'获取验证码失败'});
    })

2 post请求 
我这里因为返回的字符是gbk,所以做了对应处理。

var https = require('https');
var iconv = require('iconv-lite');
var querystring = require("querystring");
var reqData = {
            str1:'11',
            str2:'22'
        }
        var postData = querystring.stringify(reqData);
        var opts = {
            method:'POST',
            host:'www.test.com',
            port:'443',
            path:'/api/test',
            headers:{
                'Content-Type':'application/x-www-form-urlencoded',
                'Content-Length':postData.length
            }
        }
        var req = https.request(opts,function(res){
            var datas = [];
            var size = 0;
            res.on('data',function(data){
                datas.push(data);
                size += data.length;
            })
            res.on('end', function(){
                var buff = Buffer.concat(datas, size);
                var str = iconv.decode(buff,'gbk');
                callback({success:true, data:str});
            })
        })
        req.on('error',function(err){
            console.log('异常,异常原因'+err);
            callback({success:false, msg:'失败'});
        })
        req.write(postData);

 

转载于:https://www.cnblogs.com/liujinyu/p/8653797.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值