Форум сетевых администраторов
Показаны 6 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- PHP (http://netadmin.ws/forum/forumdisplay.php?forumid=6)
-- проблема с fopen() (http://netadmin.ws/forum/showthread.php?threadid=9564)


Помещено Slavik_k 19-09-2004 в 15:47:

проблема с fopen()

Задача - открыть для чтения файл

http://www.jobnews.nl/jobnews/1_baa...l?VAC_ID=173968

Делаю так:

fopen ("http://www.jobnews.nl/jobnews/1_baan/vacancy_detail_yellow.html?VAC_ID=173968","r");

сервер пишет ошибку

failed to create stream: Bad file descriptor in ХХХ

Причем если открыть через fopen() просто
http://www.jobnews.nl/
то все получается.

Я уже все перепробовал - никак не получается.
Помогите кто знает.


Помещено SCHIZO 19-09-2004 в 17:57:

сurl не пробовал использовать? ты ведь не просто файл запрашиваешь а делаешь HTTP запрос. Если без параметров (?VAC_ID=173968","r") то это будет просто открытие файла, а если с ними запрос.

__________________
FAQ OFF


Помещено Slavik_k 19-09-2004 в 18:05:

2 SCHIZO а можно подробнее про сurl?
кстати, когда я запрашиваю просто
http://www.jobnews.nl/jobnews/1_baan/vacancy_detail_yellow.html то та же ошибка, а когда запрашиваю другие страницы даже с данными после ? - все ОК.


Помещено SCHIZO 19-09-2004 в 21:24:

подробнее про CURL у меня прямо под ником написано...

...я откопал старинную функцию с помощью которой вытаскивал список пользователей чата, попробуй, может поможет..


PHP:


function get_chatlist($url)
    {
        
$pagecontent = '';
        
$page = @fopen($url, 'r');
        
$pagecontent = fread($page,100000);
        @
fclose($page);
        return 
$pagecontent;
    }

    if (
checkdnsrr('chat.polarnet.ru'))
    {
        
$url='http://chat.polarnet.ru/index.php';
        
$stat = get_chatlist($url);
        if(!empty(
$stat))
        {
            
preg_match_all('%'.preg_quote('<!-- STAT -->
'
).'(.+)'.preg_quote('<!-- /STAT -->
'
).'%si',$stat,$matches);
            
//$stat = preg_replace('"85%"i','20%',$stat);
            
$stat = $matches[1][0];
            
$stat = preg_replace('%'.preg_quote('/user.php').'%i','http://chat.polarnet.ru/user.php',$stat);
            
$stat = convert_cyr_string($stat,'win-1251','koi8-r');
            echo 
$stat;
        }
        else {
            echo 
'Невозможно получить список.';
        }
    }
    else {
        echo 
'Невозможно получить список.<br />Сервер недоступен.';
    }
?>



SCHIZO добавил 19-09-2004 в 21:29:18:
хм... по моему работоспособность функции тут не причем.. там многократный редирект имеется который заканчивается на странице http://www.jobnews.nl/jobnews/index2.html

SCHIZO добавил 19-09-2004 в 21:31:28:
P.S.
если страница существует на самом деле то скорее всего редирект происходит после проверки рефера..

SCHIZO добавил 19-09-2004 в 21:35:01:
p.s.p.s.
рефр нужно послать вот такой: http://www.jobnews.nl/jobnews/1_baan/displayVacSearchResult.html

__________________
FAQ OFF


Помещено Slavik_k 20-09-2004 в 11:18:

SCHIZO извини за назойливость, но как можно послать рефер перед fopen() ?


Помещено SCHIZO 20-09-2004 в 14:32:

RTFM curl, curl_setopt , Snoopy, HTTP, RFC...

__________________
FAQ OFF


Формат времени GMT. Текущее время 08:41.
Показаны 6 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.