| | |
| Stránka: 1 z 1
| [ Príspevkov: 5 ] | |
Autor | Správa |
---|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 Bydlisko: Levice |
mam takuto funkciu na ziskanie zoznamu z externej URL: Kód: $ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "www.externaurl.sk/zoznam"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("key: mykey"));
$response = curl_exec($ch); curl_close($ch);
$arr = json_decode($response, true); A z toho vysledku $arr potom vypisujem data. Ako zistim, ak by sluzba prestala fungovat alebo mala vypadok? Proste chcem docielit to, ze ked nebudu dostupne ziadne data, tak mi zobrazi zoznam z mojej databazy a nie z externej URL. Chcem len vediet, ako zistim, ze sluzba nefunguje. Ci mam v podmienke kontrolovat Kód: if empty($response) alebo co ked $response nebude empty, ale bude obsahovat len prazdne zatvorky alebo nieco bez dat. Alebo mam checkovat nejaky errorcode toho volania?
|
|
Registrovaný: 01.05.05 Príspevky: 13348 Témy: 1496 Bydlisko: Bratislava | Napísal JanoF: 04.04.2018 13:36 | |
|
pouzivaj timeout Kód: curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0); curl_setopt($ch, CURLOPT_TIMEOUT, 10); //pocet sekund no a potom testuj ci mas data na vystupe ci nie a ak nie tak sa siahnes po zozname z db //tu mas k errorom http://php.net/manual/en/function.curl-error.php
_________________ Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server |
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 Bydlisko: Levice | Napísal autor témy neopagan: 04.04.2018 13:51 | |
|
timeout je sice ok, ale ako zistim ci su data na vystupe? ked nemozem checkovat empty, kedze vysledok nemusi byt empty aj ked je vypadok, alebo nejaky iny problem, ze chybaju data, ale nieco v tom vysledku bude. Skusal som tam davat Kód: $errors = curl_error($ch); ale ked napr. umyselne spravim chybu v tej URL a dam vypisat $errors tak mi dava string(0) "" Z toho teda moc nezistim, kedze to iste mi vypise aj ked je spravna URL.
|
|
Registrovaný: 01.05.05 Príspevky: 13348 Témy: 1496 Bydlisko: Bratislava | Napísal JanoF: 04.04.2018 13:53 | |
|
testuj ci na vystupe je nieco co sa pri kazdom natiahnuti tej url nachadza a ak sa to tam nachadza, tak vies ze tam su data ktore chces, ak to tam nie je tak siahnes po zozname z db, mozno nerozumiem ze s cim mas presne problem...
_________________ Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server |
|
Registrovaný: 07.08.06 Prihlásený: 18.11.21 Príspevky: 947 Témy: 268 Bydlisko: Levice | Napísal autor témy neopagan: 04.04.2018 14:09 | |
|
aha ok, tak nakoniec takto to funguje: Kód: if(curl_exec($ch) === false) { echo 'Curl error: ' . curl_error($ch); } else { echo 'Operation completed without any errors';$response = curl_exec($ch);}
|
|
| Stránka: 1 z 1
| [ Príspevkov: 5 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|