nodejs實現HTTPS發起POST請求

antzone發表於2017-04-06

準備用nodejs搞一個快速註冊163郵箱的東西,需要在某一步的時候post資料到https,node的官方文件實在太簡陋了,網上找了個差不多的例子,拿來改了改用。

[JavaScript] 純文字檢視 複製程式碼
var util = require('util'),
  https = require('https');
   
var regUrl = "https://ssl.mail.163.com/regall/unireg/call.do;jsessionid=%s?cmd=register.start&adapter=%s&reforward=common/reform&targetCmd=register.ctrlTop";
var cookie = 'a=b;c=d;',
mail = 'regUsername', pass = 'password', vcode='abcde';
var _regUrl = util.format(regUrl, 'id123455', 'param2');
 var post_option = url.parse(_regUrl);
 post_option.method = 'POST';
 post_option.port = 443;
 var post_data = querystring.stringify({
   'name' : mail,
   'uid' : mail+'@163.com',
   'confirmPassword' : pass,
   'password' : pass,
   'vcode' : vcode,
   'flow' : 'main',
   'from' : '163mail_right',
   'mobile' : '',
   });
 post_option.headers = {
   'Content-Type' : 'application/x-www-form-urlencoded',
   'Content-Length' : post_data.length,
   Cookie : cookie                        };
 var post_req = https.request(post_option, function(res){
   
   res.on('data', function(buffer){
     console.log(buffer.toString());
     });
 post_req.write(post_data);
 post_req.end();

相關文章