Dostęp do folderu zabezpieczonego .htpasswd za pomocą PHP

0

Witam

Pracuję nad katalogiem produktów, który ma pobierać dane z hurtowni.
Hurtownia nie dostarczyła pliku XML, w stylu http://xxx.pl/oferta.xml, tylko dostarczyła katalog http://xxx.pl/xml/. Po jego otwarciu pojawia się okienko do wpisania danych login i hasło (okienko takie jak z .htpasswd). Po wprowadzeniu danych wyświetla się treść XML, którą jedynie co to mogę skopiować do notatnika, zapisać do pliku XML, wgrać na własny serwer. Ale nie widzi mi się to robić każdego dnia ;)

Czy da się dostać do tej treści z poziomu kodu PHP podając login i hasło do tego katalogu? Nie próbowałem w kodzie PHP podawać bezpośrednio tej ścieżki do parsera XML ale zakładam w ciemno, że zamiast treści XML wpisze się tam Forbidden i tak dalej.

Proszę o jakieś rady ;)

1

W pythonie wystarczyłby po prostu zrobić

result = requests.get('http://url.costam/costam', auth=('user', 'pass'))
print(result.text)

PHP pewnie ma cos podobnego do robienia requestów z basic auth.

edit: http://stackoverflow.com/a/21565794 tutaj masz przykład

0
<?php

Header('Content-type: text/xml');

$username = "user";
$password = "password";
$remote_url = 'http://xxxx.pl';

// Create a stream
$opts = array(
  'http'=>array(
    'method'=>"GET",
    'header' => "Authorization: Basic " . base64_encode("$username:$password")."Content-type: text/xml"              
  )
);

$context = stream_context_create($opts);

// Open the file using the HTTP headers set above
$file = file_get_contents($remote_url, false, $context);

print_r($file);
?>

Udało się! Powyżej działający kod. Dziękuję za pomoc :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1