Форум → Программирование → PHP для идиотов → file_get_contents() - VS - CURL
file_get_contents() - VS - CURL
Страницы: ← Следующая страница →
-
Собственно хотелось бы услышать поподробнее об этих функциях, об их плюсах и минусах, кто что, а главное почему, юзает.
Сам особо никогда не пользовался, но вот недавно стал использовать file_get_…
Щас глянул на CURL. Чет всё запутанно и непонятно :) Но вроде делает абсолютно то же самое.
В общем обсуждаем!!!from TRIAL with LOVE -
-
1 октября 2007 г. 15:57, спустя 3 минуты 15 секунд
У file_get_contents() всё по минимуму и просто.
Послать POST запрос через https:// с отслеживанием редиректов и сохранением кук, через неё проблематично. -
1 октября 2007 г. 16:09, спустя 11 минут 57 секунд
А можно наглядный пример с использованией file_get_… и cURL?
Нужно получить содержимое странички для дальнейшего разбора. Адрес странички должен быть с параметром (любимым, типа index.php?action=ok)
Как это будет выглядеть, а как с этим потом работать?
PS. Как работать с первой функцией знаю, а вот с cURL чет пока не могу понять. Хочется наглядно увидеть :)
PPS. А еще напишите как настроить cURL. А то чет у себя в php.ini раскоментил но не пашет. Апач перегрузил :) Просто где-то читал что надо еще папки какие то создать и файлы в них.from TRIAL with LOVE -
1 октября 2007 г. 17:37, спустя 1 час 27 минут 57 секунд
для таких каверзных дел юзаю сокеты
для модных, выкладываю функцию:function Send($url, $data = "", $method = "get", $cookies = "")
{
$arr = parse_url($url);
$nn = "\r\n";
$host = $arr["host"];
$ref = $arr["scheme"]."//$host";
$path = $arr["path"];
if (isset($arr['query'])) $query = $arr["query"];
if (isset($query) && !empty($query)) $path.="?".$query;
$request = strtoupper($method)." $path HTTP/1.0".$nn.
"Referer: $ref".$nn.
($cookies ? "Cookie: ".$cookies.$nn : "").
"Connection: Keep-Alive".$nn.
"Cache-Control: no-cache".$nn.
"Content-Type: application/x-www-form-urlencoded".$nn.
"Content-Length: ".strlen($data).$nn.
"Host: $host".$nn.
"Accept: */*".$nn.
"Accept-Encoding: gzip, deflate".$nn.
"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MyIE2)".$nn."".$nn.
$data;
//echo nl2br($request).'<br /><br /><br /><br />';
//exit;
$fp = fsockopen($host, 80, &$errno, &$errstr, 30);
//echo "<br><br>socket открыт:".$fp;
if(!$fp) { print "$errstr ($errno)<br>\n"; exit; }
fputs($fp, $request);
//echo "<br>ответ: ".fgets($fp);
while(!feof($fp))
{
@$reply .= fgets($fp);
}
fclose($fp);
return $reply;
}
с помощью неё можно послать get и post запрос с параметрами и с куками$data = Send("http://pyha.ru/login/", "login=md5&passwd=fuck&submit=1", "post", "");
последний параметр, как многие уже смогли заметить — туда пихаются куки например: login=md5;password=fuck
вот
Trial
а для твоей страницы так:
=)$data = Send("http://pyha.ru/index.php", "action=ok");
все умрут, а я изумруд -
1 октября 2007 г. 17:38, спустя 56 секунд
ps. Курл никогда в жизни не пользовал, простите…все умрут, а я изумруд -
1 октября 2007 г. 17:43, спустя 5 минут 10 секунд
как отловить при всём этом раскладе куки, спросите вы меня??? =))))function GetCookies($header)
{
$cookie = "";
$arr = split("\r\n", $header);
$j = count($arr);
for( $i=0; $i < ($j-1); $i++)
{
if(ereg("^Set-Cookie:",$arr[$i]))
{
list($cv) = split( ";", $arr[$i]);
list($trash, $cv) = split( ":", $cv);
list($cname, $cv) = split( "=", $cv, 2);
$cookie .= "$cname=".urlencode($cv)."; ";
}
}
$cookie = url_decode($cookie);
return $cookie;
}
на примере:
// послали
$data = Send("http://pyha.ru/login/", "login=md5&passwd=fuck&submit=1", "post", "");
// отловили куки
$cookies = GetCookies($data);
// а теперь их можно использовать!
$data = Send("http://pyha.ru/closed_page/", "", "get", $cookies);
всё, теперь ломанулись мутить баттл паук =)))все умрут, а я изумруд -
-
1 октября 2007 г. 18:02, спустя 12 минут 55 секунд
если с помощью этого кода напишешь скрипт, который бы повышал карму, лично выпишу тебе 57 кг кармывсе умрут, а я изумруд -
1 октября 2007 г. 18:09, спустя 6 минут 51 секунду
В Кг не интересно…есть там денежные бонусы?или просто карма? -
-
2 октября 2007 г. 9:18, спустя 15 часов 7 минут 6 секунд
Вчера лазил по нету, смотрел кто чем пользуется.
На каком-то сайте писали, что из всех функций, курл самая быстрая, все остальные работают одинаково. Где то в 2 раза дольше. Не знаю на сколько это реально.
Вобщем щас пытаюсь курл попробывать но не знаю как его установить.
Кто использует, скинте пожалуйста ссылочку по установке (доходчиво а не так что скачайте и поставте, так уже скачал и ничерта не ставится) или напишите подробно чего откуда качать, куда ставить и где что прописать :)from TRIAL with LOVE -
2 октября 2007 г. 9:55, спустя 36 минут 33 секунды
Обычно юзаю file_get_contents, так как он крайне удобен.
CURL использую для POST-запросов и для SSL. А также, когда нужно послать, например, нужный referrer или user-agent.
fsockopen не люблю за неудобство пользования, но тем не менее пользуюсь, когда необходимо установить сетевой таймаут, который, почему-то, только в этой функции работает более менее адекватно. -
2 октября 2007 г. 10:38, спустя 43 минуты 15 секунд
TRIAL, чего качать-то? Это стандартная либа к PHP (к 5-му во всяком случае). Подключается как обычно — расскоментированием строчки в php.ini. -
2 октября 2007 г. 12:50, спустя 2 часа 11 минут 33 секунды
zaxar написал самый грамотный и исчерпывающий ответ, в очередной раз подтверждающий простую истину: "Различные технологии делятся не столько на "плохие" и "хорошие", сколько на "адекватные задаче" и "неадекватные задаче"".
Страницы: ← Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!