Эта статья для начинающих PHP-программистов, которые хотят брать какую-то информацию с других сайтов посредством/из своих скриптов.
Сначала определим массив HTTP-заголовков, которые мы будем передавать серверу. Экспериментальным путем мной получены заголовки, которые на стороне сервера выглядят почти так-же, как заголовки, которые передает Mozilla FireFox 3.6, запущенный из под Windows XP. Проблема в том, что cURL добавляет чуть-чуть что-то своего, но это почти незаметно.
Вот массив с заголовками:
Теперь определим адрес, с которого мы хотим что-то скачать. Например, мы хотим получить курс ЕвроДоллара с Google Finance:
Если Вы хотите, что бы скрипт скачивал страницу не напрямую, а через прокси-сервер, то объявите переменную $proxy. Укажите там HTTP-прокси-сервер в формате IP: ПОРТ или ДОМЕН: ПОРТ. Я указал адрес 127.0.0.1 (адрес локальной машины, на которой мы запускаем скрипт) и порт — 1234. Пример бессмысленный, но он предназначен только для того, что бы показать Вам, как пользоваться возможностью задания прокси-сервера.
Теперь непосредственно инициализируем cURL и задаем наши настройки (URL-адрес и массив с заголовками):
Все! Теперь в переменной $page скачанная страница. Теперь используйте регулярные выражения или какое-нибудь другое средство и вычленяйте нужные данные из страницы.
Напоминаю, статья для начинающих, так что пожалуйста не смейтесь — многие не знают даже таких простых вещей.
Удачи!
Сначала определим массив HTTP-заголовков, которые мы будем передавать серверу. Экспериментальным путем мной получены заголовки, которые на стороне сервера выглядят почти так-же, как заголовки, которые передает Mozilla FireFox 3.6, запущенный из под Windows XP. Проблема в том, что cURL добавляет чуть-чуть что-то своего, но это почти незаметно.
Вот массив с заголовками:
$headers = array('User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2) Gecko/20100115 Firefox/3.6',
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language: ru,en-us;q=0.7,en;q=0.3',
'Accept-Encoding: deflate',
'Accept-Charset: windows-1251;q=0.7,*;q=0.7');
Теперь определим адрес, с которого мы хотим что-то скачать. Например, мы хотим получить курс ЕвроДоллара с Google Finance:
$url = 'http://www.google.com/finance?q=EURUSD';
Если Вы хотите, что бы скрипт скачивал страницу не напрямую, а через прокси-сервер, то объявите переменную $proxy. Укажите там HTTP-прокси-сервер в формате IP: ПОРТ или ДОМЕН: ПОРТ. Я указал адрес 127.0.0.1 (адрес локальной машины, на которой мы запускаем скрипт) и порт — 1234. Пример бессмысленный, но он предназначен только для того, что бы показать Вам, как пользоваться возможностью задания прокси-сервера.
$proxy = '127.0.0.1:1234';
Теперь непосредственно инициализируем cURL и задаем наши настройки (URL-адрес и массив с заголовками):
$c = curl_init($url);
if ($proxy) // Если задана переменная с прокси-сервером, то приказываем использовать его.
{
curl_setopt($c, CURLOPT_PROXY, $proxy);
}
curl_setopt($c, CURLOPT_HTTPHEADER, $headers); // Передаем массив с HTTP-заголовками.
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); // Это для того, что бы cURL возвращал текст сраницы, а не выводил его на экран.
$page = curl_exec($c); // Запускаем сам процесс и записываем скачанную страницу в $page;
curl_close($c); // Освобождаем задействованные ресурсы, т.к. мы все сделали, cURL нам больше не нужен.
Все! Теперь в переменной $page скачанная страница. Теперь используйте регулярные выражения или какое-нибудь другое средство и вычленяйте нужные данные из страницы.
Напоминаю, статья для начинающих, так что пожалуйста не смейтесь — многие не знают даже таких простых вещей.
Удачи!