fopen файл где требуется авторизация

PerlikFB

Новичок
fopen файл где требуется авторизация

Приветсвую.

Возникла необходимость открыть файл который лежит в папке, защищенной паролем.

воспользовался вот этим http://ru2.php.net/manual/en/function.fopen.php#51592

Но всеравно как я ни стараюсь, пишет что я не авторизован.

PHP:
$host = "test.localhost"; //второй вариант: $host = "test2.localhost"; 
$file = "closed/test.xml"; //второй вариант: $file = "test.xml"; //во втором варианте требуется полная авторизация, в первом только на папку /close/
$username = "test";
$password = "test";
print_r(readHTTPDigestAuthenticatedFile($host,$file,$username,$password));


Пробовал просто:
PHP:
        $file = "http://test:[email protected]/close/test.xml";	
        //ini_set('user_agent','Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Avant Browser)');

        $handle = fopen($file, "r");
		$contents = fread($handle, filesize($file));
		fclose($handle);
        print_r($contents);
Но и этот вариант не катит..





Может есть какой другой вариант? Или я где-то не так делаю?
 

Zetruger

ivan.chistyakov.name
при HTTP аутентификации логин и пароль передаются в запросе

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

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

вместо fopen используй fsockopen
 

PerlikFB

Новичок
ну я и воспользовался примером с сайта http://ru2.php.net/manual/en/function.fopen.php#51592
Там как раз fsockopen
Но чота никак не разбирусь что и как(

чот сниффером посмотрел, ничего толкового не нашел..

-~{}~ 06.09.07 17:51:

Вобщем вот как решил проблему:


PHP:
$c = curl_init('http://test.localhost/closed/test.xml');
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_USERPWD, 'login:pass');
$vals = curl_exec($c); // вот он мой XML
curl_close($c);
 

MiksIr

miksir@home:~$
Эта функция, которой пробовали воспользоваться, для Digest авторизации. Большинство же сайтов запаролено через Basic метод. Но в общем да - юзайте curl :)
 

Фанат

oncle terrible
Команда форума
PerlikFB
"в папке" или "на сайте"?
"в папке" обычно говорят про тот же самый сайт.
 

PerlikFB

Новичок
*****,
Ну бывает так что запаролена папка на каком-нибудь сайте обычным .htaccess + .htpasswd

Вобщем мне надо было что бы php логинелась по определенному url
Искал искал, и нашел вот curl
При том пол дня потратил на решение проблемы, и нашел ответ в книжке на полке)))
Всем спасибо за ответы...
 

Фанат

oncle terrible
Команда форума
ну вот url - это не папка.
а то тут попадаются гении, хоторые ходят к себе на сайт по http...
вот я и спросил
 
Сверху