Rss feed inlezen van de nevobo volleybal lukt niet, althans ik weet niet of ik het fout doe of dat h

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Nkamp Kamp van de

nkamp Kamp van de

25/09/2016 12:12:39
Quote Anchor link
Hallo,

Om voor ieder team de stand, uitslagen en programma te tonen op de clubwesite stelt de Nevobo Rss feed beschikbaar.
Dit werkt via een bestaande joomla plugin voor rss feeds inlezen. Deze plugin is volgens mij een bestaande joomla plugin die door een andere volleybal enthousiasteling onderhanden is genomen. Maar dit heeft de afgelopen seizoenen altijd goed gewerkt.

Nu wordt het volgens de nevobo nog steeds beschikbaar gesteld maar het is gewijzigd. Nu probeer ik het weer in te lezen maar het lukt niet.

Dit https://api.nevobo.nl/export/team/CKL8D6P/heren/3/programma.rss is bv. een zo'n rss feed.

Hier staat nog voorbeelden wat de Nevobo beschikbaar stelt https://www.nevobo.nl/nieuwsbericht/competitiegegevens-voor-clubwebsites

Degene die ik wil gebruiken is de volgende:
https://api.nevobo.nl/export/team/{verenigingscode}/{teamtype}/{volgnummer}/programma.{type}

Maar hoe lees ik dit nu in:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

$rssurl
='https://api.nevobo.nl/export/team/CKL8D6P/heren/3/programma.rss';
$xml=simplexml_load_file($rssurl);

if (!$xml) {
    echo "Failed loading XML\n";
    foreach(libxml_get_errors() as $error) {
        echo '\t'.$error->message.'<br />';
        return;
    }
}

?>

$xml is nog steeds leeg. Verder geen duidelijk error melding???? Helaas.

- Nu vraag ik mij af hoe weet ik nu of er wel daad werkelijk connectie is gemaakt naar die rss feed url?
- Of zit het nog op mijn local machine het probleem?
- Het is bestaande code, maar is simplexml_load_file 'outdated' en moet het op een alternatieve manier?

Ik doe het momenteel vanaf mijn laptop, localhost (XAMPP).
Het is een joomla plugin die ik in een artikel plaats.

Misschien wat veel maar ik probeer zo veel mogelijk info te geven.

Bedankt,

Nico
 
PHP hulp

PHP hulp

02/12/2024 22:03:29
 
Adoptive Solution

Adoptive Solution

25/09/2016 12:30:04
Quote Anchor link
Je code toont niks want er is geen fout.

Zet onderstaande code achter de } van de if() en het wordt netjes getoond. De feed is wat traag.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
echo '<pre>';
print_r($xml);
echo '</pre>';
Gewijzigd op 25/09/2016 12:31:42 door Adoptive Solution
 
Ben van Velzen

Ben van Velzen

25/09/2016 12:38:08
Quote Anchor link
Verrassend genoeg werkt de code die je gegeven hebt prima. Heb je misschien allow_url_fopen uit staan?
 
Nkamp Kamp van de

nkamp Kamp van de

25/09/2016 12:51:08
Quote Anchor link
Bedankt voor jullie reacties alvast.

Ok, bij mij is het nog steeds leeft maar wanneer het bij jullie werkt zit het dus ergens anders.

Ik heb zojuist in de php.ini gekeken en daar staat:
; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
; http://php.net/allow-url-fopen
allow_url_fopen = On

Dus die staat wel aan.

En de allow_url_include stond op Off. Deze heb ik ook nog even op on gezet.

Ik zal het eens buiten Joomla halen en gewoon een losse php pagina maken kijken of het dan werkt want dat moet dan volgens mij ook kunnen.

---- EDIT ----

Dit laatste zojuist gedaan, dwz. index.php file gemaakt met de bovenstaande code aangevuld met print_r statement. Helaas blijft leeg.

Maar het heeft er dan alle schijn van, dat mijn apache of php het blokkeert? Of kan het ook nog zo zijn dat mijn bitdefender virusscanner het blokkeert?
Gewijzigd op 25/09/2016 12:59:03 door nkamp Kamp van de
 
Adoptive Solution

Adoptive Solution

25/09/2016 12:52:37
Quote Anchor link
Ik bekijk het op een Synology NAS. Daar kan ik weinig instellen en als het kon heb ik niks ingesteld.

Als bonus een simple code om de feed netjes te parsen :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
echo '<h3>' . $xml->channel->title . '</h3>';
echo '<h4>' . $xml->channel->description . '</h4>';
foreach ($xml->channel->item as $key => $value) {
    echo '<p>' . $value->title . '<br />';
    echo $value->description . '<br />';
    echo $value->pubDate . '</p>';
}


Toevoeging op 25/09/2016 12:56:55:

En hier de code op een gratis webserver waar het ook op werkt :

http://adoptive.esy.es/volleybal/
Gewijzigd op 25/09/2016 12:58:21 door Adoptive Solution
 
Ben van Velzen

Ben van Velzen

25/09/2016 12:57:03
Quote Anchor link
>> En de allow_url_include stond op Off. Deze heb ik ook nog even op on gezet.
Eh, nee geen goed idee. Dat is alleen maar gevaarlijk en biedt geen enkel voordeel.
 
Nkamp Kamp van de

nkamp Kamp van de

25/09/2016 14:06:05
Quote Anchor link
Ok, bedankt voor de hulp.

Ik heb even een subdomein van onze volleybalsite aangemaakt. daar heb ik mijn index.php code ingeplaatst met dat aanvullende stukje code van Adoptive Solution.
Dit werkt keurig inderdaad.

Hiervoor mijn hartelijke dank!!

Nu zit ik enkel nog met mijn localhost (en/of mijn virusscanner), die blijkbaar mijn inlezen van rss feed blokkeert, al heb ik op dit moment geen idee wat het zou kunnen zijn. Ook in de apache logs gekeken.

In mijn zoektocht om dit op te lossen kwam ik ook nog langs de optie cURL, wat sneller schijnt te werken. Is dat een beter alternatief?

------- EDIT EDIT --------------------------
Ik ben in de php log gaan kijken en daar kwam ik oa. het volgende tegen:
Quote:
simplexml_load_file(): Unable to find the wrapper &quot;https&quot; - did you forget to enable it when you configured PHP?

Hier ben ik op gaan googlen en op de bekende stackoverflow kwam ik tegen dat iemand zei heb de extensie ;extension=php_openssl.dll geenabled. Dit had ik dus niet en heb ik nu gedaan. Het werkt!!
Gewijzigd op 25/09/2016 14:14:43 door nkamp Kamp van de
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.