Запрос NPM: Использование формы входа и сохранение файла cookie для последующего использования.

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

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

Я в порядке с основными запросами, используя запрос или запрос обещания.

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

<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 есть в документации по запросу, но не во многих.

Итак, наконец, вопрос "КАК ВЫ?"

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

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

0 ответов

Другие вопросы по тегам