Forum Webscript.Ru
Программирование => PHP => Тема начата: от 17 Июля 2002, 12:39:09
-
Такая вот проблемка возникла у меня:
По одному урлу нужно файл скачать через другой прокси (т.е. не через proxy.aaaa.aaa, a через proxy1.aaaa.aaa)
Организовано все так:
$fp=fsockopen($ip, $port) or die(\'Can"t establish connection\');
if ($fp){
$query = "GET ".$file." HTTP/1.0\\r\\n\\r\\n";
fputs($fp, $query);
$i=0;
while (!feof($fp)){
$page[$i]=fgets($fp, 1000);
$i++;
}
fclose($fp);
}
Все замечательно скачало, но файл был "покоцанный",т.е. часть нужной информации отсутсвовала
Тогда перед всем этим добавил
header ("HTTP_USER_AGENT: \'Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)\'");
header (\'REMOTE_ADDR: 000.00.000.000); //свой адр.
Содержимое файла было таким же
Но проверенно, что файл через proxy даже без отправки заголовка возвращается целый
Плз. не проходите мимо
-
Это мое сообщение
-
Не забывай, что кроме самого файла, ты еще читаешь и заголовки, которые выдает сервер.
-
(Сообщение Redjin)Да, конечно, но как это влияет?
Забыл пароль и теперь он не изменяется :(
-
Заголовки получаемого файла никак не должны менять содержимое файла, или что ты имел ввиду?
-
Файл бинарный? Тогда может fread() вместо fgets()
-
Нет он htm
-
во-первых заголовки типа header() никак не влияют (и не должны влиять) на покоцанность файла. Их нужно через fputs() посылать.
Во-вторых все же попробуй
while (!feof($fp)) {
$str.= fread ($fp,128);
}
-
во-первых заголовки типа header() никак не влияют (и не должны влиять) на покоцанность файла. Их нужно через fputs() посылать.
Да, действительно с ними я облажался....:((((
-
fread() действительно помог
Дело оказалось в том, что передаваемый файл (как я понимаю) был сгенерирован, т.е. не там был конец строки
До этого я читал file() и проблем не было
Большое тебе спасибо :)
Все было элементарно