как получить часть файла по http

Nikola_N

Новичок
как получить часть файла по http

Доброго времени суток.
Не подскажите, возможно ли с помощью curl
получить часть файла по http. Скажем, как получить первые 30 килобайт.
Я так понимаю это можно сделать функцией
fread( $fd, filesize) (сам не пробовал, но исходя из описания функции - возможно..), но мне необходимо работать через прокси.
Есть ли какие варианты?
 

Nikola_N

Новичок
Автор оригинала: Tor
это ты сегодня уже тоже самое спрашивал?
нет не спрашивал.. искал но не нашел ответа на форуме ..
вот нашел.. вроде так можно ..
<?php
$proxy_ip = "67.95.178.26";
$proxy_port = 8080;

$fp = fsockopen($proxy_ip,$proxy_port);
fputs($fp, "GET http://www.rambler.ru/ HTTP/1.0\r\n\r\n");

$data="";
while (!feof($fp)) $data.=fgets($fp,64000);
fclose($fp);

print $data;
?>
 

SiMM

Новичок
1. И где там CURL?
2. И где там получение части контента?
3. На будущее - ставь вопросы конкретно.
 

Nikola_N

Новичок
Автор оригинала: SiMM
1. И где там CURL?
2. И где там получение части контента?
3. На будущее - ставь вопросы конкретно.
1,3 - вопрос сформулировал не корректно извиняюсь. мне подошел бы любой вариант (не обязательно curl, лиш бы с прокси)
2 нада убрать while
оставить только $data=fgets($fp,32000);


вот код с курл +CURLOPT_RANGE.. почемуто не хочет работать. Я и раньше пробовал его . но помню, что не получалось , поэтому и задал вопрос.
Может не правильно передаю параметры в CURLOPT_RANGE.
Пните где не так плиз...

PHP:
<?
// ---------------- &#231;&#224;&#239;&#240;&#238;&#241; &#234; &#241;&#229;&#240;&#226;&#229;&#240;&#243;------------------------
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "http://phpclub.ru/talk/showthread.php?s=&postid=468646"); 
curl_setopt($ch, CURLOPT_HEADER,0); 
curl_setopt($ch, CURLOPT_NOBODY,0); 
curl_setopt($ch,CURLOPT_TIMEOUT,20);
curl_setopt($ch,CURLOPT_RANGE,"1-30");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_USERAGENT, "User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)"); 
// &#239;&#240;&#238;&#234;&#241;&#232; 
//curl_setopt($ch, CURLOPT_PROXY,"217.153.50.82:80");  
$file_content=curl_exec ($ch); 
curl_close ($ch); 
// ---------------- &#231;&#224;&#239;&#240;&#238;&#241; &#234; &#241;&#229;&#240;&#226;&#229;&#240;&#243;------------------------
echo $file_content;
?>
 

LeaetherStrip

Новичок
//
curl_setopt($ch,CURLOPT_RANGE,"1-30");
//

Начнем с того, что ты таким макаром получишь первые 30 БАЙТ, а не КИЛОБАЙТ страницы :)
 

Nikola_N

Новичок
Автор оригинала: LeaetherStrip
//
curl_setopt($ch,CURLOPT_RANGE,"1-30");
//

Начнем с того, что ты таким макаром получишь первые 30 БАЙТ, а не КИЛОБАЙТ страницы :)
это понятно .. скрипт всеравно выдает всю страницу ... а не часть.
1-30 - это я взял для примера, чтоб эффект был виден.
 

LeaetherStrip

Новичок
Может, сервер не поддерживает Range для HTML-страниц

Посмотри обмен заголовками - там в ответе сервера должно присутствовать

'Accept-Ranges: bytes'
 

insidex

флихтэръер
У меня таже ситуация...
Как я понял другого способа получить часть странички через Курл не существует?
 
Сверху