1. 程式人生 > >node中https請求 | 實現https的請求,獲取圖片,然後轉成base64字節碼

node中https請求 | 實現https的請求,獲取圖片,然後轉成base64字節碼

str2 gpo end callback func www. lB nod div

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);

node中https請求 | 實現https的請求,獲取圖片,然後轉成base64字節碼