Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: не работают file_get_contents и fsockopen
 
 автор: pindos   (01.10.2009 в 20:04)   письмо автору
 
 

Возможен ли теперь парсинг? И если да, то как?
phpinfo() - http://bazar.777host.us/phpinfo.php

  Ответить  
 
 автор: cheops   (01.10.2009 в 20:09)   письмо автору
 
   для: pindos   (01.10.2009 в 20:04)
 

Нет, теперь парсинг невозможен.

  Ответить  
 
 автор: Trianon   (01.10.2009 в 20:12)   письмо автору
 
   для: cheops   (01.10.2009 в 20:09)
 

Казалось бы, при чем тут парсинг?

В отчете есть
cURL Information libcurl/7.18.2 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.8 libssh2/0.18
и в disable_function его вроде нет...
Это по поводу темы.

  Ответить  
 
 автор: cheops   (01.10.2009 в 20:20)   письмо автору
 
   для: Trianon   (01.10.2009 в 20:12)
 

У меня все-таки есть стойкое подозрение, что она не работает, после такого тотального запрета... Если CURL работает - это хорошо, тогда проблемы нет. В принципе проверить не долго, вот file_get_contents() точно уже работать не будет - можно даже не проверять. Функцию fsockopen() можно попробовать, в принципе явно запрещена только pfsockopen().

  Ответить  
 
 автор: pindos   (01.10.2009 в 20:25)   письмо автору
 
   для: Trianon   (01.10.2009 в 20:12)
 

cURL как раз и вызывает подозрения на возможность парсинга.
Сию абревиатуру я время от времени встречаю, но всегда смотрю на неё как баран на новые ворота. Всегда как баран и всегда как на новые...
Да и в Вашей книге "PHP5 на примерах " 2005 БХВ ПИТЕР об этом ничего...
Может пару строк набросаете как при помощи cURL заменить file_get_contents
или этот код
                function output_r ($path){
    $arr = parse_url($path);
    $host = $arr[host];
    $page = $arr[path];
    $query = $arr[query];
    if($query!=''){$page.='?'.$query;}
    if($page==''){$page='/';}
    $fp = @fsockopen($host, 80, &$errno, &$errstr, 30);
    if(!$fp){ return implode('',@file($path)); }
    $request = "GET $page HTTP/1.0\r\n";
    $request .= "Host: $host\r\n";
   // $request .= "Accept: text/html, application/xml;q=0.9, */*;q=0.1\r\n";
   // $request .= "Accept-Charset: windows-1251, utf-8;q=0.6, *;q=0.1\r\n";
   // $request .= "Accept-Encoding: deflate, gzip, identity, *;q=0\r\n";
    $request .= "Accept-Language: ru\r\n";
    $request .= "Connection: close\r\n";
    $request .= "Keep-Alive: 300\r\n";
    $request .= "Expires: Thu, 01 Jan 1970 00:00:01 GMT\r\n";
    $request .= "Cache-Control: no-store, no-cache, must-revalidate\r\n";
    $request .= "Pragma: no-cache\r\n";
    $request .= "Cookie: income=1\r\n";
    $request .= "Referer: http://$host/\r\n";
    $request .= "User-Agent: Mozilla/5.0 (compatible; MSIE 6.0; Windows 98)\r\n";
    $request .= "Client-ip: 172.20.218.205\r\n";////////////Dobavil
    $request .= "FORWARDED_FOR: 172.20.218.205\r\n";/////////////Dobavil
    $request .= "\r\n";
    fwrite ($fp,$request);
         while ($line = fgets($fp, 1024)){
             if (preg_match("~^\r{0,1}\n$~i",$line)){$fest='yes';}
             elseif($fest=='yes'){$out .= $line;}
            } 
    return $out;
}


( Этот код тоже не рабортает)

  Ответить  
 
 автор: Trianon   (01.10.2009 в 20:54)   письмо автору
 
   для: pindos   (01.10.2009 в 20:25)
 

>cURL как раз и вызывает подозрения на возможность парсинга.
>Сию абревиатуру я время от времени встречаю, но всегда смотрю на неё как баран на новые ворота. Всегда как баран и всегда как на новые...
>Да и в Вашей книге "PHP5 на примерах " 2005 БХВ ПИТЕР об этом ничего...

не моей.

>Может пару строк набросаете как при помощи cURL заменить file_get_contents

примерно так
function curl_get_contents( $url )
{
    $r = curl_init();
    curl_setopt( $r,CURLOPT_NOPROGRESS,0 );
    curl_setopt( $r,CURLOPT_RETURNTRANSFER,1 );
    curl_setopt( $r,CURLOPT_URL,$url );
    return curl_exec( $r );
}

  Ответить  
 
 автор: pindos   (01.10.2009 в 23:13)   письмо автору
 
   для: Trianon   (01.10.2009 в 20:54)
 

Спасибо!

  Ответить  
 
 автор: pindos   (02.10.2009 в 15:33)   письмо автору
 
   для: pindos   (01.10.2009 в 23:13)
 

cURL оказался чрезвычайно капризным.
Он взял содержимое со следующих адресов :

$url ="http://ru.wikipedia.org/wiki/FTP"
$url ="http://www.example.com/";

Как ни странно...

А содержимое таких адресов как:
http://www.meteonovosti.ru/index.php?index=51&value=27612&hs=1
и даже http://www.google.ru для нашего cURL оказалось пустым... т.е. ничего не возвращает... Что бы это могло означать?

  Ответить  
 
 автор: Trianon   (02.10.2009 в 16:04)   письмо автору
 
   для: pindos   (02.10.2009 в 15:33)
 

а fsockopen возвращает? :)
На тех серверах, где работает, само собой.

  Ответить  
 
 автор: pindos   (02.10.2009 в 17:28)   письмо автору
 
   для: Trianon   (02.10.2009 в 16:04)
 

Может кто знает а на каких собственно free серверах работает fsockopen? 8~((

  Ответить  
 
 автор: Trianon   (02.10.2009 в 17:37)   письмо автору
 
   для: pindos   (02.10.2009 в 17:28)
 

а зачем Вам сервер, на котором fsockopen работает аналогично curl?

  Ответить  
 
 автор: pindos   (02.10.2009 в 19:19)   письмо автору
 
   для: Trianon   (02.10.2009 в 17:37)
 

Мне бы хоть что-нибудь, лишь бы работало (не важно fsockopen или cURL). Или Вы имели ввиду, что все free сервера глючат на предмет сканирования чужих страниц? (ни один из проверенных мною серверов не дал мне просканировать нужные мне странички погоды, телепрограммы и получить xml-курсы валют от cbr.ru ) Раньше у меня таких проблемм почему-то не возникало, а теперь (когда рухнул мой основной сервер) куда не сунусь, везде облом... Как-будто все сговорились. Или мне не везёт с free серверами или это заговор... :) ?
Я уже зарегистрировался наверное на десяти таких и все одно и то же. Неужели этот несчастный fsockopen так принципиален для них...

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования