Теперь мне нужно войти в систему, это не проблема.
Я вхожу в систему используя файлы cookie, а затем перейдите к списку продуктов.
Эти продукты просто распечатаны с помощью PHP на их сайте. Так что не с javascript.
Но когда я использую Curl, он говорит, что бренд/поиск не найден (результаты не возвращены).
Я изменил реферер и хост.
Как они могли это обнаружить и есть ли способ «обойти» это?
Я получил csv-файл с их продуктами(понял от них), но не с количеством, ценой и описанием.
Поэтому я хочу заполнить эту часть самостоятельно.
Вот мой скрипт:
Код: Выделить всё
include('brands.php');
$request = array(
'username'=>'******',
'pass'=>'*********',
'submit'=>'',
'part-submit'=>'',
'referlink'=>'',
'remember'=>1
);
$agent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.website.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIESESSION, TRUE);
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt ($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($request));
$response = curl_exec($ch);
curl_close ($ch);
$ch = curl_init();
curl_setopt($ch, CURLOPT_VERBOSE, TRUE);
curl_setopt($ch, CURLOPT_URL, $array[$_GET['k']]."&rpp=100");
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Host: website.com'));
curl_setopt ($ch, CURLOPT_REFERER, "http://www.website.com/linecard.php");
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
curl_setopt($ch, CURLOPT_COOKIESESSION, TRUE);
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt ($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
curl_setopt($ch, CURLOPT_POST, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$response = curl_exec($ch);
var_dump(curl_getinfo($ch, CURLINFO_HEADER_OUT ));
$curl_errno = curl_errno($ch);
$curl_error = curl_error($ch);
curl_close($ch);
if ($curl_errno > 0) {
die("cURL Error ($curl_errno): $curl_error\n");
}
echo $response;
ps. удалил официальный сайт, предоставлю при необходимости. за их безопасность и успехи в Google
Подробнее здесь: https://stackoverflow.com/questions/240 ... okie-issue