Здесь курят мануал.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха переехала на новый сервер, ура!

Краснодарское время: 23 Май, 2012, 10:40:31

Страниц: [1] 2
Печать
Автор Тема: file_get_contents() - VS - CURL  (Прочитано 6516 раз)
0 Пользователей и 1 Гость смотрят эту тему.
TRIAL    ↓ 
01 Октябрь, 2007, 03:34:29
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи

Карма: 7
Сообщений: 907
Сила слова: 0.77

Собственно хотелось бы услышать поподробнее об этих функциях, об их плюсах и минусах, кто что, а главное почему, юзает.
Сам особо никогда не пользовался, но вот недавно стал использовать file_get_...
Щас глянул на CURL. Чет всё запутанно и непонятно :) Но вроде делает абсолютно то же самое.
В общем обсуждаем!!!
Записан

from TRIAL with LOVE
Patrick    ↓ 
01 Октябрь, 2007, 03:54:28 , спустя 19 минут 59 секунд
НЕ ХУЕТА! ХУЕТА!
Группа: Жмурики

Карма: 8
Сообщений: 506
Сила слова: 1.58

Я CURL юзаю........
Записан

vasa_c    ↓ 
01 Октябрь, 2007, 03:57:43 , спустя 3 минуты 15 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 81
Сообщений: 2459
Сила слова: 3.29

У file_get_contents() всё по минимуму и просто.
Послать POST запрос через https:// с отслеживанием редиректов и сохранением кук, через неё проблематично.
Записан

TRIAL    ↓ 
01 Октябрь, 2007, 04:09:40 , спустя 11 минут 57 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи

Карма: 7
Сообщений: 907
Сила слова: 0.77

А можно наглядный пример с использованией file_get_... и cURL?
Нужно получить содержимое странички для дальнейшего разбора. Адрес странички должен быть с параметром (любимым, типа index.php?action=ok)
Как это будет выглядеть, а как с этим потом работать?
 
PS. Как работать с первой функцией знаю, а вот с cURL чет пока не могу понять. Хочется наглядно увидеть :)
 
PPS. А еще напишите как настроить cURL. А то чет у себя в php.ini раскоментил но не пашет. Апач перегрузил :) Просто где-то читал что надо еще папки какие то создать и файлы в них.
« Последнее редактирование: 01 Октябрь, 2007, 04:23:22 от TRIAL » Записан

from TRIAL with LOVE
md5    ↓ 
01 Октябрь, 2007, 05:37:37 , спустя 1 час 27 минут 57 секунд
НЕ ХУЕТА! ХУЕТА!

выезд, апартаменты, массаж, стриптиз, подружки, дорого
Группа: в ухо

Карма: не нужна
Сообщений: 10494
Сила слова: 1.19

для таких каверзных дел юзаю сокеты
для модных, выкладываю функцию:
PHP
  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 запрос с параметрами и с куками
PHP
$data = Send("http://pyha.ru/login/", "login=md5&passwd=fuck&submit=1", "post", "");
последний параметр, как многие уже смогли заметить — туда пихаются куки например: login=md5;password=fuck
 
вот
 
Trial
а для твоей страницы так:
PHP
$data = Send("http://pyha.ru/index.php", "action=ok");
=)
« Последнее редактирование: 01 Октябрь, 2007, 05:52:20 от md5 » Записан

8: Undefined variable: str
Файл: /home/pyha/pyha.ru/forum/bbcode/Xbb/Tags/Man.php
Строка: 18
adw0rd: мудень блять, я уже фиксить стал эту фигню :)
md5: вуахахахаха
md5    ↓ 
01 Октябрь, 2007, 05:38:33 , спустя 56 секунд
НЕ ХУЕТА! ХУЕТА!

выезд, апартаменты, массаж, стриптиз, подружки, дорого
Группа: в ухо

Карма: не нужна
Сообщений: 10494
Сила слова: 1.19

ps. Курл никогда в жизни не пользовал, простите...
Записан

8: Undefined variable: str
Файл: /home/pyha/pyha.ru/forum/bbcode/Xbb/Tags/Man.php
Строка: 18
adw0rd: мудень блять, я уже фиксить стал эту фигню :)
md5: вуахахахаха
md5    ↓ 
01 Октябрь, 2007, 05:43:43 , спустя 5 минут 10 секунд
НЕ ХУЕТА! ХУЕТА!

выезд, апартаменты, массаж, стриптиз, подружки, дорого
Группа: в ухо

Карма: не нужна
Сообщений: 10494
Сила слова: 1.19

как отловить при всём этом раскладе куки, спросите вы меня??? =))))
PHP
  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;
  }
 

на примере:
PHP

// послали
$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);
 
всё, теперь ломанулись мутить баттл паук =)))
Записан

8: Undefined variable: str
Файл: /home/pyha/pyha.ru/forum/bbcode/Xbb/Tags/Man.php
Строка: 18
adw0rd: мудень блять, я уже фиксить стал эту фигню :)
md5: вуахахахаха
Pasha    ↓ 
01 Октябрь, 2007, 05:49:15 , спустя 5 минут 32 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 7
Сообщений: 1028
Сила слова: 0.68

Мутым карму *брахахах*
Записан

r.i.p. puppy
md5    ↓ 
01 Октябрь, 2007, 06:02:10 , спустя 12 минут 55 секунд
НЕ ХУЕТА! ХУЕТА!

выезд, апартаменты, массаж, стриптиз, подружки, дорого
Группа: в ухо

Карма: не нужна
Сообщений: 10494
Сила слова: 1.19

если с помощью этого кода напишешь скрипт, который бы повышал карму, лично выпишу тебе 57 кг кармы
Записан

8: Undefined variable: str
Файл: /home/pyha/pyha.ru/forum/bbcode/Xbb/Tags/Man.php
Строка: 18
adw0rd: мудень блять, я уже фиксить стал эту фигню :)
md5: вуахахахаха
Pasha    ↓ 
01 Октябрь, 2007, 06:09:01 , спустя 6 минут 51 секунду
НЕ ХУЕТА! ХУЕТА!

Группа: Адекваты

Карма: 7
Сообщений: 1028
Сила слова: 0.68

В Кг не интересно...есть там денежные бонусы?или просто карма?
Записан

r.i.p. puppy
md5    ↓ 
01 Октябрь, 2007, 06:11:37 , спустя 2 минуты 36 секунд
НЕ ХУЕТА! ХУЕТА!

выезд, апартаменты, массаж, стриптиз, подружки, дорого
Группа: в ухо

Карма: не нужна
Сообщений: 10494
Сила слова: 1.19

делай
Записан

8: Undefined variable: str
Файл: /home/pyha/pyha.ru/forum/bbcode/Xbb/Tags/Man.php
Строка: 18
adw0rd: мудень блять, я уже фиксить стал эту фигню :)
md5: вуахахахаха
TRIAL    ↓ 
02 Октябрь, 2007, 09:18:43 , спустя 15 часов 7 минут 6 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Джедаи

Карма: 7
Сообщений: 907
Сила слова: 0.77

Вчера лазил по нету, смотрел кто чем пользуется.
На каком-то сайте писали, что из всех функций, курл самая быстрая, все остальные работают одинаково. Где то в 2 раза дольше. Не знаю на сколько это реально.
Вобщем щас пытаюсь курл попробывать но не знаю как его установить.
Кто использует, скинте пожалуйста ссылочку по установке (доходчиво а не так что скачайте и поставте, так уже скачал и ничерта не ставится) или напишите подробно чего откуда качать, куда ставить и где что прописать :)
Записан

from TRIAL with LOVE
zaxar    ↓ 
02 Октябрь, 2007, 09:55:16 , спустя 36 минут 33 секунды
НЕ ХУЕТА! ХУЕТА!
Группа: Жмурики

Карма: 4
Сообщений: 29
Сила слова: 13.79

Обычно юзаю file_get_contents, так как он крайне удобен.
 
CURL использую для POST-запросов и для SSL. А также, когда нужно послать, например, нужный referrer или user-agent.
 
fsockopen не люблю за неудобство пользования, но тем не менее пользуюсь, когда необходимо установить сетевой таймаут, который, почему-то, только в этой функции работает более менее адекватно.
« Последнее редактирование: 02 Октябрь, 2007, 12:52:18 от zaxar » Записан

if($today=="day of zarplata") $i_am=":)";
vasa_c    ↓ 
02 Октябрь, 2007, 10:38:31 , спустя 43 минуты 15 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 81
Сообщений: 2459
Сила слова: 3.29

TRIAL, чего качать-то? Это стандартная либа к PHP (к 5-му во всяком случае). Подключается как обычно — расскоментированием строчки в php.ini.
Записан

AlexB    ↓ 
02 Октябрь, 2007, 12:50:04 , спустя 2 часа 11 минут 33 секунды
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 89
Сообщений: 3423
Сила слова: 2.6

zaxar написал самый грамотный и исчерпывающий ответ, в очередной раз подтверждающий простую истину: "Различные технологии делятся не столько на "плохие" и "хорошие", сколько на "адекватные задаче" и "неадекватные задаче"".
Записан

Страниц: [1] 2
Печать
 

Перейти в: