node中https請求 | 實現https的請求,獲取圖片,然後轉成base64字節碼
阿新 • • 發佈:2018-03-26
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字節碼