[php]Curl i obsługa błędów. Jak rozpoznać error? |
[php]Curl i obsługa błędów. Jak rozpoznać error? |
17.02.2020, 16:40:58
Post
#1
|
|
Grupa: Zarejestrowani Postów: 138 Pomógł: 0 Dołączył: 7.01.2015 Ostrzeżenie: (0%) |
Witam.
Mam pewien problem z pobieraniem xml'a z pewnego serwisu., Serwis ten ma limity czasowe na różne rodzaje plików. Chciałem wykryć, kiedy zwraca mi poprawny plik xml a kiedy komunikat w formie xml'a Komunikat z informacją o błędzie wygląda tak:
kod, którym pobieram plik. Niestety funkcja curl_error() nie wykrywa tutaj błędu.
Jak mogę rozpoznać, żeskrypt pobrał xml z komunikatem błędu a nie zwykły xml? |
|
|
17.02.2020, 16:52:35
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
No to sparsuj sobie ten xml wpierw i bedziesz widzial czy ma blad czy nie
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
18.02.2020, 09:51:32
Post
#3
|
|
Grupa: Zarejestrowani Postów: 138 Pomógł: 0 Dołączył: 7.01.2015 Ostrzeżenie: (0%) |
|
|
|
18.02.2020, 09:55:15
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
curl monitoruje naglowki. Jesli stronka nie zwraca bledu w naglowkach tylko zwraca naglowek 200 OK no to sorry, dla curl to jests ok. Sprawdzales w ogole jakie naglowki dostajesz w zwrotce?
Skoro wiec docelowy plik jest bardzo duzy to sprawdzaj poprostu rozmiar zwroconego tekstu i juz -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
20.02.2020, 19:14:34
Post
#5
|
|
Grupa: Zarejestrowani Postów: 532 Pomógł: 24 Dołączył: 15.04.2011 Skąd: Kalisz Ostrzeżenie: (0%) |
Ale czekaj... Plik docelowy ma 300MB, ale plik z błędem będzie miał raptem kilka kb. Sprawdź jego rozmiar, jak będzie jakiś dziwny, to załóż, że to błąd i wykonaj akcje.
Jednak tak jak pisze @nospor, albo serwer powinien zwrócić nagłówek w odpowiednik kodzie, albo response serwera powinien być w jakimś innym typie zamiast XML. Albo nawet właśnie XML z treścią błędu, ale razem z nagłówkiem. Poza tym nie przejmuj się wielkością pliku, wbudowany parser XML w PHP jest dość wydajny, powinien bez problemu sobie z tym poradzić - zawsze możesz to zweryfikować czy sparsuje na docelowym serwerze. |
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 00:46 |