Автоматизация входа на сайт без запроса XHR - PullRequest
0 голосов
/ 05 августа 2020

Справочная информация: я пытаюсь автоматизировать вход в систему локального интернет-провайдера, используя простой запрос в python (без селена, это последнее средство, поскольку я пытаюсь изучить и другие способы).

После проверки веб-сайта Кнопка отправки вызывает функцию validateForm().

function validateForm(){
    var input=true;
    var uname = "?"+document.login.Username.value+"+/@";
    var pwd = "?"+document.login.Password.value+"+/@";      
    document.login.LoginName.value=encodeURIComponent(uname); 
    document.login.LoginPassword.value=encodeURIComponent(pwd);
    if (input==true&&document.login.checker.checked) 
        toMem(this);
}

function toMem(a) {
    newCookie('theName', document.login.Username.value);     // add a new cookie as shown at left for every
    newCookie('theEmail', document.login.Password.value);   // field you wish to have the script remember
}

function newCookie(Username,value,days) {
     var days = 30;   // the number at the left reflects the number of days for the cookie to last
                     // modify it according to your needs
     if (days) {
       var date = new Date();
       date.setTime(date.getTime()+(days*24*60*60*1000));
       var expires = "; expires="+date.toGMTString(); }
       else var expires = "";
       document.cookie = Username+"="+value+expires+"; path=/"; 
}

Нет, куда он отправляет какой-либо запрос.

Веб-сайт не выполняет никаких запросов XHR. Я не могу понять asp, как они заставляют работать логин. Я нашел один запрос из «другой» вкладки сети (chrome инструменты разработчика). Откуда он генерирует этот запрос !!!

   fetch("http://ip:port/Sristi3/SRISTI/loginUI.do2", {
  "headers": {
    "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
    "accept-language": "en-US,en;q=0.9,bn;q=0.8",
    "cache-control": "no-cache",
    "content-type": "application/x-www-form-urlencoded",
    "pragma": "no-cache",
    "upgrade-insecure-requests": "1"
  },
  "referrer": "http://ip:port/Sristi3/SRISTI/Login.jsp?",
  "referrerPolicy": "no-referrer-when-downgrade",
  "body": "Username=username&Password=password&LoginName=encodedusername&LoginPassword=encodedpass",
  "method": "POST",
  "mode": "cors",
  "credentials": "include"
});

Я попытался просто вставить запрос в консоль, но это также не привело к входу в систему. Вернул promise с [[PromiseStatus]]: "rejected" и [[PromiseValue]]: TypeError: Failed to fetch, message: "Failed to fetch", stack: "TypeError: Failed to fetch". Что и где искать? Любая помощь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...