Запрос NPM: использование формы входа и сохранение файла cookie для последующего использования - PullRequest
0 голосов
/ 28 ноября 2018

Так что это звучит просто, но документация не полностью объясняет, как именно.

Попытка сканировать страницу, требующую входа пользователя, чтобы получить информацию, которую я хочу.

Я согласен сбазовые запросы с использованием запроса или обещания запроса.

На главной странице есть поле для входа в систему следующим образом

<form method="post" id="frmlogin" name="frmlogin" class="form-horizontal" role="form">
    <input type="hidden" name="token" id="login_token" value="6861b13edb5d626abe48b405476207bc" />
    <p class="toFormLoginSpace">
        <label for="flTitleFile" class="formloginLabel">Email:</label>
        <input type="text" name="customers_email_address_login" id="customers_email_address_login" class="formloginField" maxlength="50">
    </p><br clear="all" />
    <p class="toFormLoginSpace">
        <label for="flTitleFile" class="formloginLabel">Password:</label>
        <input type="password" name="customers_password_login" id="customers_password_login" class="formloginField" maxlength="50">
    </p><br clear="all" />
    <div style="float:left;width: 60%">
        <a href="/lost_password.php" class="purpleLink11">Forgot your password?</a> 
        <br />
        <a href="/register.php" class="purpleLink11">Apply for an account</a>
    </div>
    <div style="float:right;width: 38%">
        <button name="btnlogin" id="btnlogin" class="btn btn-primary pull-right md-margin-left-10" type="submit">
         Login <i class="fa fa-arrow-right"></i>
        </button>
    </div>                                                                           
    <br clear="all" /><br clear="all" />
</form>

Я вижу эту форму, используя cheerio и запрос или запрос обещания.

Этот сайт, по-видимому, не позволяет войти в систему с помощью http://username:password@thedomain.com

Сайт работает на php, но использует jquery

Я попытался выполнить документы, выполнив запрос с авторизациейраздел следующим образом:

request.get('https://www.thedomain.co.uk/', {
  'auth': {
    'user': 'username',
    'pass': 'Password',
    'sendImmediately': false
  }
},function(err,response,data){
    console.log(err)
    console.log(response)
    console.log(data)
});

и взамен я просто возвращаю домашнюю страницу без входа в систему, поскольку форма входа все еще показывает.В запросах есть краткая информация о файлах cookie, но не много.

Итак, наконец, вопрос «КАК ВЫ ДЕЛАЕТЕ»

  • Запрос домашней страницы
  • Войдите с помощьюФорма или как часть запроса
  • Оставайтесь в системе, чтобы
  • сканировать страницы, которые требуют, чтобы я вошел в систему

Я смотрел на следующее: Узел-запрос-обещание JS для PUT с аутентификацией Как очистить сайты, требующие аутентификации, с помощью node.js? https запросить базовую аутентификацию node.js https://github.com/request/request https://blog.risingstack.com/node-hero-node-js-request-module-tutorial/ Как автоматически войти на сайт, используя параметры URL? и более

...