Во-первых, я не пытаюсь создать спам-бота или что-то незаконное. Таким образом, у меня есть небольшой бизнес по продаже баланса телефона, и моя цель - облегчить его работу для сотрудников и автоматизировать процесс пополнения баланса клиента. И я попытался сделать веб-приложение с формой для моих сотрудников, чтобы просто заполнить номер телефона и сумму баланса для пополнения с помощью Laravel.
Я попытался запросить API, чтобы я мог просто используйте Ax ios или jQuery Ajax, чтобы сделать запрос на публикацию, но они сказали, что у них нет API для этого. В настоящее время я попытался использовать пакет Goutte php -scraper для сканирования страницы, чтобы автоматизировать вход в систему на панели посредника и пополнить баланс телефона. Итак, вот код, который я пробовал до сих пор
$client = new \Goutte\Client();
$crawler = $client->request('GET', 'http://www.phonereseller.com');
$form = $crawler->selectButton('Login')->form();
$formValues = array('Username' => $username, 'Password' => $password);
$crawler = $client->submit($form, $formValues)
, когда я попытался выдать $client
я просто получаю, что в доступе отказано, результат дампа ниже
<body>
<div id="mainholder" class="block-login wow fadeIn" data-wow-duration="2s">
<form id="formLogin" class="form-login" action="/Account" method="POST" autocomplete="off">
<div class="box-lang">
<div class="dropdown">
<span class="btn dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
<span class="flag flag-en"/>
<span id="lblLanguage">English</span>
<span class="caret"/>
</span>
</span>
<ul class="dropdown-menu" aria-labelledby="langList" id="language-ddl">
<input id="redirectUrl" name="redirectUrl" type="hidden" value="http://www.phonereseller.com/Account?url=http:%2F%2Fwww.phonereseller.com%2F"/>
<li>
<a href="/API/Account/SetLanguage?langtag=zh" class="changelanguage-link" ng-show="currentLang != 'zh'">
<span class="flag flag-zh"/>中文
</a>
</li>
</ul>
</div>
</div>
<h1 class="title login-text">Login</h1>
<div class="rowlg msg-error" id="errmsg">
<span>Access denied</span>
</div>
<div class="rowlg">
<input class="txt" data-val="true" data-val-required="Username is required" id="Username" name="Username" placeholder="Username" required="requi ▶
<i class="icon-user"/>
</div>
<div class="rowlg">
<input class="txt" data-val="true" data-val-required="Password is required" id="Password" name="Password" placeholder="Password" required="requi ▶
<i class="icon-lock"/>
</div>
<div class="list-button">
<input type="submit" class="btnLogin" value="Login" id="btnLogin" tabindex="5"/>
</div>
<input name="code" id="code" type="hidden" value="7645"/>
<input id="detecas-analysis" name="detecas-analysis" value="{}" type="hidden"/>
</form>
</div>
</body>
<script src="/bundle/js/signin?v=WGaSzzsFcGlG66dFn7aGXH8Rm7UGIXCOnPoGVarzyoE1"/>
<script type="text/javascript"><![CDATA[
(function ($) {
var LoginPage = new Login();
LoginPage.init();
var $form = $("#formLogin");
var $username = $form.find("[name=Username]");
$form.submit(function () {
$form.attr("action", $form.attr("action") + "?u=" + $username.val());
})
}(jQuery));
]]></script>
goutte продолжает отказывать в отправке формы, происходит сбой, потому что форма обрабатывается с использованием javascript ? потому что, когда я пытался проверить, я вижу ng-model
на входе внутри панели после входа в систему.
Итак, вопрос, есть ли способ или пакет, который я могу использовать, чтобы сделать его входом в панель внутри? (Извините, если есть опечатка или опечатка, Engli sh не мой родной)