Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Curl i obsługa błędów. Jak rozpoznać error?
starterrrrr
post
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:
  1. <?xml version="1.0" encoding="UTF-8" ?><gateway><error><code>8</code><message>excessive usage</message></error></gateway>



kod, którym pobieram plik. Niestety funkcja curl_error() nie wykrywa tutaj błędu.

  1.  
  2. // wykonujemy request
  3. $url = 'https://DOMENA/gateway.php';
  4. $curl = curl_init();
  5. $file = fopen("xml/".$file_name, 'w');
  6. curl_setopt($curl, CURLOPT_URL, $url);
  7. curl_setopt($curl, CURLOPT_POST, true);
  8. curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data));
  9. curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  10. curl_setopt($curl, CURLOPT_FILE, $file); #output
  11. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
  12. curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
  13.  
  14. $result = curl_exec($curl);
  15. $err = curl_error($curl);
  16. $errno = intval(curl_errno($curl));
  17. curl_close($curl);
  18. fclose($file);
  19.  
  20.  
  21. // sprawdzamy odpowiedz
  22. if (!$err) {
  23. return htmlspecialchars($result);
  24. } else {
  25. var_dump($err, $errno);
  26.  
  27. }


Jak mogę rozpoznać, żeskrypt pobrał xml z komunikatem błędu a nie zwykły xml?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 15:07