Я искал помощи по проблеме, с которой я использовал cURL для получения информации с сайта.
Я новичок, использующий cURL, поэтому мне нужно несколько советов с этим. Мне нужно автоматически войти на 3dstats.com, а затем восстановить список данных. Со списком проблем нет, я уже работаю над решением; это логин, который я не могу получить на работу. Форма входа в систему после значительной очистки выглядит примерно так:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content=
"HTML Tidy for Windows (vers 14 February 2006), see www.w3.org" />
<title></title>
</head>
<body>
<form action="/cgi-bin/edit2.cgi" method="post">
<input type="hidden" name="type" value="2" />
<input type="text" class="flinput" size="40" name="usr" value="00000000" />
<input type="password" size="40" name="UsrPass" class="flinput" />
<input type="submit" value="Submit " class="binput" />
</form>
</body>
</html>
Итак, мне нужно отправить 3 переменные, type, usr и UsrPass. Если я сохраню эту страницу и нажму «Отправить», форма будет работать нормально (конечно, после изменения полей на скрытые и заполнения их правильными значениями для входа в систему).
Однако, если я сделаю это:
<code><?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://3dstats.com/cgi-bin/edit2.cgi");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);
$data = array("type" => "44",
"usr" => "correct8-digitNumber",
"UsrPass" => "correctPassword");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_COOKIEJAR, '/3dstats/cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, '/3dstats/cookies.txt');
$output = curl_exec($ch);
$info = curl_getinfo($ch);
echo "<pre>";
print_r($info);
echo "
";
вывод echo $;
curl_close ($ ч);
?>
форма возвращает: «Ошибка: неправильная учетная запись», с номером учетной записи, уже заполненным до «0000» (обратите внимание на пробел). Счет представляет собой 8-значный номер.
Есть идеи, что я делаю не так? Страница говорит, что использует куки. Какова правильная форма захвата / использования их позже? То, что я пытаюсь, похоже, не работает.
Заранее благодарим за любую помощь / совет.