[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Работа с curl
Александр Мутылев
Привет всем!
Недавно получил такое задание:
нужно товары с одного интернет-магазина (оптовый) вывести в другом. Для этого, как мне сказали, нужно войти на сайт (оптовый) под своим логином, и тогда я получу доступ к нужной страницы. на этой странице дынные отображаются в формате tsv. Работают на этой странице всего несколько запросов.

Я попытался войти на сайт через curl. Вышло. Отобразил у себя на странице данные в формате tsv. И застрял. Как их обрабатывать не пойму.
Вот код входа:

function login($url, $email, $pw)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
// откуда пришли на эту страницу
curl_setopt($ch, CURLOPT_REFERER, $url);
// cURL будет выводить подробные сообщения о всех производимых действиях
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "email=" . $email . "&pw=" . $pw);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36");
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//сохранять полученные COOKIE в файл
curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'] . '/cookie.txt');
$result = curl_exec($ch);
if ($result === FALSE) {
echo "cURL Error: " . curl_error($ch);
}
// Убеждаемся что произошло перенаправление после авторизации
//if(strpos($result,"Location: home.php")===false) die('Login incorrect');

curl_close($ch);
return $result;
}

Код чтения данных:

function Read($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
// откуда пришли на эту страницу
curl_setopt($ch, CURLOPT_REFERER, $url);
//запрещаем делать запрос с помощью POST и соответственно разрешаем с помощью GET
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
//отсылаем серверу COOKIE полученные от него при авторизации
curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'] . '/cookie.txt');
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (Windows; U; Windows NT 5.0; En; rv:1.8.0.2) Gecko/20070306 Firefox/1.0.0.4");
$result = curl_exec($ch);
if ($result === FALSE) {
echo "cURL Error: " . curl_error($ch);
}
curl_close($ch);
return $result;
}

И отображается что-то типа такого :

51682 51618 Фотоальбомы 10200 51618 Фотобумага 80222 51618 Фоторамки

Не подскажете, как правильно обрабатывать и выводить эти данные?
Заранее спасибо.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2019 Invision Power Services, Inc.