Okienko z przeglądarki

Okienko z przeglądarki
C1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
0

witam,

trochę już pracowałem z cURLem, natomiast pierwszy raz mam sytuację, że skrypt strony po wejściu w adres URL wysyła okienko z przeglądarki jak poniżej:
Zrzut ekranu 2023-05-18 104122.png

Po kliknięciu OK z przeglądarki następuje przekierowanie na docelowy adres.

Pobierając to cURL zwraca false. Ewentualnie wpisując w przeglądarce od razu docelowy adres pojawia się okienko z loginem i hasłem jak poniżej:
Zrzut ekranu 2023-05-18 104445.png

Testowałem z auth basic ale nie chce działać.

Może ktoś przerabiał temat. Będę wdzięczny.

Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10227
0
co17rey napisał(a):

Testowałem z auth basic ale nie chce działać.

Jak testowałeś, to napisz dokładnie co próbowałeś zrobić i jaki miałeś wynik.

axelbest
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 2255
0

A próbowałeś podać adres URL w takiej postaci ?

Kopiuj
user_name:password@url.com

Możliwe, że próbowałeś (dopiero się przyjrzałem zacenzurowanemu fragmentowi) :) ale url jaki tam masz wg mnie nie jest poprawny.
Masz tam %2E a wg mnie powinna tam być po prostu kropka .
twoja-domena.com.pl
a Ty masz
twoja-domena%2Ecom%2Epl

C1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
0
Kopiuj
		$ch = curl_init('URL');
		
		$headers = array(
			'Authorization: Basic '. base64_encode('login:haslo') // <---
		);
		
		curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
		curl_setopt($ch, CURLOPT_TIMEOUT, 30);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
		curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
		$response = curl_exec($ch);
		curl_close($ch);
		if($response === false)
		{
			echo 'Curl error: ' . curl_error($ch);
		}
		else
		{
			echo 'Operation completed without any errors';
		}
		echo ($response);

Takiego kodu używam do pobierania pliku XML.

Próbowałem wstawiać login i hasło, ale ciągle zwraca false.

TR
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: 700m n.p.m.
  • Postów: 681
0

Spróbuj się pobawić opcjami CURL z przedrostkiem CURLAUTH, np.:

Kopiuj
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);

albo wstaw tam CURLAUTH_BASIC etc.

KA
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Gorlice
1

Przede wszystkim sprawdź w narzędziach deweloperskich przeglądarki (F12) co jest wysyłane podczas normalnego logowania przez przeglądarkę, później pobaw się PostMan-em dodając to samo i sprawdź jak on sobie radzi. Jak on da oczekiwany wynik dopiero będziesz wiedział jakie nagłówki itd. są potrzebne i wtedy spróbuj to zrobić za pomocą cURL.

C1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 21
0

Podszedłem do tematu inaczej. Zrobiłem najpierw logowanie do strony przez formularz logowania i później pobieram ten XML już bez logowania i działa :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.