zoukankan      html  css  js  c++  java
  • 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);
  • 相关阅读:
    python编码基础知识
    python编码问题
    python中文乱码
    mysql sql灵活运用
    MySQL函数讲解(MySQL函数大全)
    python:UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xef in position xxx: ordinal not in range(128)
    sql replace into 与 insert into
    微信布局
    盘点六大在中国复制失败的O2O案例
    字符串问题(一)
  • 原文地址:https://www.cnblogs.com/liujinyu/p/8653797.html
Copyright © 2011-2022 走看看