Запрос 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? и больше