Используем CURL в PHP
Скрипт для начинающих программистов на PHP
Что может скрипт ![]()
1. Получать данные, которые надо передать на удалённую форму
2. Использовать прокси сервера, для передачи данных ![]()
3. Настройку timeout при передачи данных
public function getCurlData($url, $post = '', $validateCookie = false, $cookie = '', $useProxy = false, $proxyIP = '', $proxyPort = '', $timeout = '') {
try {
$ch = curl_init($url);
if (!empty($post)) {
curl_setopt($ch, CURLOPT_POST, 1); //указывает, что передаём данные методом POST
curl_setopt($ch, CURLOPT_POSTFIELDS, $post); //передаваеммые данные из формы (form)
}
curl_setopt($ch, CURLOPT_HEADER, 0); // DO NOT RETURN HTTP HEADERS
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"); //данные браузера
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); //хотим ли мы следовать на ссылку редиректа :)
//блок считывания cookies, для авторизации на сайте :)
if ($validateCookie) {
if ($cookie == '') {
$cookie_data = file($this->_cookieFile);
for ($i = 4; $i < count($cookie_data); $i++) {
$tmp = explode("\t", $cookie_data[$i]);
$cookie .= $tmp[5] . '=' . trim($tmp[6]) . ';';
}
$cookie_data = $cookie;
curl_setopt($ch, CURLOPT_COOKIEFILE, $this->_cookieFile);
curl_setopt($ch, CURLOPT_COOKIEJAR, $this->_cookieFile);
$cookie = "Cookie: " . $cookie_data;
} else {
$cookie = "Cookie: " . $cookie;
}
curl_setopt($ch, CURLOPT_COOKIE, $cookie); //записываем полученные cookies в запрос, для дальнейшей обработки :)
}
if ($useProxy) {
curl_setopt($ch, CURLOPT_PROXY, $proxyIP . ':' . $proxyPort);
//curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
}
if (!empty($referer)) {
curl_setopt($ch, CURLOPT_REFERER, $refererSite);
}
if (!empty($timeout)) {
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
}
$result = curl_exec($ch);
curl_close($ch);
return $result;
} catch (Exception $e) {
throw new PortalException(500, Prado::localize('error') . '|' . $e->getMessage());
}
}
На выходе возвращает данные, желаемого сайта ![]()
Пользуемся на здоровье ![]()

0 Комментариев
Рекомендуемые комментарии
Комментариев нет
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти