Ниже приведены 2 фрагмента кода, результат которых должен быть идентичен (по крайней мере, я хотел бы). Этот результат заключается в том, что вы заходите на веб-сайт одним щелчком мыши, отправляя форму.
HTML работает хорошо и позволяет мне идеально подключаться.
PHP затрудняет работу. PHP / cURL работает правильно, я имею в виду, что если я изменяю переменные Логин / Пароль, сервер отправляет мне обратно «неправильный пользователь / пароль», но если я отправляю правильный Логин / Пароль, сервер превращается в глубокую медитацию и никогда не отвечает мне .
Есть ли у вас какие-либо предложения по этому поведению? (Я бы наверняка что-то пропустил ...).
Спасибо
«AutoConnect.HTM»:
<html>
<script type="text/javascript">
window.onload = function () { document.getElementById('autolog').submit(); }
</script>
<body>
<form id="autolog" action="https://website.com/account/logon" method="post">
<input name="Login" value="User">
<input name="Password" value="Pass">
</form>
</body>
</html>
«AutoConnect.PHP »:
<?php
$url = 'https://website.com/account/logon';
$postinfo = http_build_query(array(
'Login' => 'User',
'Password' => 'Pass'
));
$client = 'Mozilla/4.0 (compatible; Win32; WinHttp.WinHttpRequest.5)';
$header = array(
'Connection: Keep-Alive',
'Accept: */*',
'Accept-Language: fr-FR',
'Content-type: application/x-www-form-urlencoded',
'Content-Length: '.(strlen($postinfo))
);
$options = array(
CURLOPT_HTTPHEADER => $header,
CURLOPT_HEADER => false,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_USERAGENT => $client,
CURLOPT_AUTOREFERER => true,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $postinfo,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_URL => $url
);
$ch = curl_init();
curl_setopt_array($ch,$options);
$result = curl_exec($ch);
curl_close($ch);
echo $result;
?>