fsockopen - GET - выдаёт только часть страницы

justin_g

Guest
fsockopen - GET - выдаёт только часть страницы

PHP:
$fp = fsockopen("host.net", 80, $errno, $errstr, 30); 
    fputs ($fp, "GET /page.asp HTTP/1.0\r\n\r\n"); 
    fputs ($fp, "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/msword, application/vnd.ms-powerpoint, application/vnd.ms-excel, */*\r\n");
    fputs ($fp, "Connection: Keep-Alive\r\n"); 
    while (!feof($fp)) {
        $result .= fread($fp,1024);
    }
    fclose ($fp);
echo $result;
и этот самый $result иногда обрывается в совершенно разных местах (это при коде page.asp в 25 строк). это именно из-за формата asp (остальное вроде нормально) или хостинг виноват? и как можно решить эту проблему?..
 

Opik

Новичок
А первых запрос сгенерируй в 1 переменной и 1 раз делай fputs и в запросе ещё указывай Host
да и в мануале примеров много: http://ee.php.net/fsockopen
Serguitar
какая разница что он делает? делает, значит надо.
 

Opik

Новичок
Serguitar
знаю, запрещается кража контента, может он погоду узнает
 

justin_g

Guest
Контент тыришь?
"тырю" кросс-курсы валют. по другому как просто "выдрать" их со страницы банка (японского) я не нашёл..
Serguitar
да, с этим fsockopen у вас тут цирк - обхохочешься. ну запретите его вообще к обсуждению! Ж) а птом ещё echo, ибо так матом можно ругаться.
Opik
спасибо, сейчас попробую..

-~{}~ 21.05.05 17:44:

Opik, да, действительно: дело было во мнеожестве fputs. проблема решена. ещё раз спасибо.
 

SiMM

Новичок
> действительно: дело было во мнеожестве fputs
Дурь то какая... Ты бы запросы правильно составлял - может глупостей бы хоть не говорил.
 

justin_g

Guest
SiMM, не знаю какая там у тебя дурь (я этим вообще не увлекаюсь), но запрос я составлял по мануалу. и со всем, кроме asp это прокатывало.
ps. мажЁрный у вас форум, ребятки.
 

SiMM

Новичок
justin_g, протри глаза, "минор". Какого лешего после GET и завершения(!!!) заголовков запроса ты в сокет кидаешь бредятину типа Accept и Connection?
 
Сверху