file_get_contents(): getaddrinfo failed: Name or service not known
mdervaux
18/10/2012, 08h54
Je confirme aussi, tout fonctionne bien
Je confirme, pour moi aussi c'est fonctionnel.
Que ce soit par Curl ou File_get_contents dans les deux cas le contenu JSON est bien retourné sans erreur.
Merci Papasti pour l'info.
mdervaux
17/10/2012, 16h30
Je vais faire un test aussi de mon coté et je publierai le résultat. Merci pour ton retour papasti!
Pour ma part, il semble que ce soit résolu. J'arrive à récupérer les données au format JSON via l'API de WOW
mdervaux
12/10/2012, 14h04
Oui surtout que passer par une passerelle sur un serveur gratuit rallonge le temps d'obtention des informations, et ce n'est pas rien :/
Ma patience ayant des limites j'ai également été obligé de parser l'API Battle.net depuis un hébergeur gratuit.
J’espère vraiment que OVH va réagir rapidement car je ne vais pas continuer à payer un service moins bon que celui proposé gratuitement par d'autres
J'ai fait un essai depuis un autre hébergeur -> ça fonctionne.
Donc le problème vient bien d'Ovh. Alors si ces messieurs de la team Ovh voulaient bien se pencher sur le problème.
Comme armata, je n'y connait rien en matière de DNS
Mais si le problème vient d'une résolution de DNS du coté ovh, ne peut-on pas se servir d'autres comme par exemple celles-ci ?
https://developers.google.com/speed/public-dns/

Envoyé par
armata
Sauf si le domaine distant l'autorise. Mais j'ai fait l'essai et il ne fallait pas rêver

Envoyé par
papasti
Une question : Ne peut-on pas contourner le problème en effectuant une requete Ajax (xmlHTTPRequest) ?
xmlHTTPRequest ne permet pas les accès entre serveurs pour une question de sécurité (cf.
http://en.wikipedia.org/wiki/XMLHttpRequest).
mdervaux
08/10/2012, 22h35
j'ai utilisé un serveur "passerelle" sur un hebergement gratuit :/ ça fonctionne pas en parsant l'armurerie mais les webservices de blizzard fonctionnent ^^
Une question : Ne peut-on pas contourner le problème en effectuant une requete Ajax (xmlHTTPRequest) ?

Envoyé par
armata
Mais pour cela faudrait-il encore qu'OVH et battle.net ne se boudent pas mutuellement car pour le moment il n'est pas possible de lire quoi que ce soit venant de battle.net depuis OVH.
Je viens de faire le test à partir d'un script hébergé chez free : même erreur cUrl. A priori, ça viendrait donc de chez Blizzard...
mdervaux
06/10/2012, 21h36
J'ai exactement le même souci, hésites pas à faire un retour dès que tu as plus d'info ^^
Merci d'avance,
Ok compris
Je vais aussi ouvrir un ticket pour ce problème (sait-on jamais). En tous cas, cela m'a permis de découvrir l'api battle.net et probablement de gagner pas mal de temps en exploitant cette api plutôt que d'analyser les pages avec le DOM
JSON est simplement un format de données (JavaScript Object Notation).
L'api battle.net renvoi ses données au format json que l'on peut notamment exploiter en php avec la fonction json_decode()
Mais pour cela faudrait-il encore qu'OVH et battle.net ne se boudent pas mutuellement car pour le moment il n'est pas possible de lire quoi que ce soit venant de battle.net depuis OVH.
Sinon, peut être une autre solution avec l'api wow et l'utilisation de json:
http://blizzard.github.com/api-wow-docs/
J'en profite pour vous demander si vous connaissez un bon site pour apprendre json et pouvoir récupérer par exemple ce qui est renvoyé par cette page :
http://eu.battle.net/api/wow/charact...zangar/Papasti
fritz2cat
04/10/2012, 13h50
# dig
www.battle.net @gss1.us.blizzard.com
;; ANSWER SECTION:
www.battle.net. 60 IN A 12.129.242.30
;; Query time: 1943 msec
;; SERVER: 12.129.239.68#53(12.129.239.68)
# dig
www.battle.net @gss2.us.blizzard.com
;; ANSWER SECTION:
www.battle.net. 60 IN A 12.129.242.30
;; Query time: 1414 msec
;; SERVER: 12.129.230.234#53(12.129.230.234)
Les serveurs .eu. et .kr. répondent en 600 et 700 ms.
Avec des temps de réponse proches de 2 secondes, ça ne m'étonne pas qu'il y ait des perturbations.
Tout dépend combien de temps on garde en cache la réponse négative (cas de OVH)
Frédéric
Alors oui ils lisent le forum car je les y ai convié et oui cela fait maintenant plus d'une semaine que battle.net n'est plus accessible depuis OVH alors que mon script fonctionnait très bien depuis des mois.
fritz2cat
04/10/2012, 13h17
Ou bien le support lit le forum, ou bien ils arrivent à la même conclusion que moi.
Le problème se présente-t-il de manière persistente depuis plusieurs jours ?
Frédéric
Aie ça sent le "c'est pas moi, c'est l'autre" car au niveau du support j'ai eu pour réponse:
...
il semble que le problème vient du TTL appliqué sur les serveurs DNS de battle.net et non de OVH.
Personnellement je n'y connais strictement rien en fonctionnement DNS mais je me dit que si j'arrive à faire tourner mon appli sur un serveur local wamp et que cette même appli ne fonctionne pas chez OVH c'est de ce coté que ça coince.
fritz2cat
04/10/2012, 12h59
mmmhh. tu as raison pour eu.battle.net, j'avais juste été voir
www.battle.net qui était aussi mentionné dans la discussion.
Peut-être les serveurs DNS de Blizzard sont-ils surchargés et tombent en timeout à certains moments (de leur faute) ?
Frédéric
> dig
www.battle.net
Heu... oui, mais l'adresse mentionnée était
eu.battle.net
Son TTL est de 6h en fait, le 24h c'est le Default TTL
Bon, mais on s'éloigne du sujet, et là je ne vois que le support pour répondre.
fritz2cat
04/10/2012, 11h16
dig
www.battle.net :
Code:
;; ANSWER SECTION:
www.battle.net. 60 IN A 80.239.186.26
Frédéric

Envoyé par
fritz2cat
Blizzard a mis un TTL de 60 secondes sur cette entrée DNS et c'est une mauvaise pratique !
D'où sors-tu ce "60 secondes" ?
Moi je vois 86400 s = 1 jour...
fritz2cat
04/10/2012, 11h04
Je n'ai pas de solution à proposer, malheureusement.
Frédéric
Y a-t-il un moyen en php pour pallier à ce problème de TTL ?
fritz2cat
04/10/2012, 09h06
Blizzard a mis un TTL de 60 secondes sur cette entrée DNS et c'est une mauvaise pratique !
Si tout le monde faisait comme ça, tout le système DNS tomberait sur ses c* ...
Frédéric
Gaston_Phone
04/10/2012, 08h20

Envoyé par
armata
Pour contourner le problème j'ai tenté d'utiliser curl mais j'obtiens "Couldn't resolve host 'eu.battle.net'"
Là c'est évident qu'il s'agit d'un problème de DNS.
@Gaston_Phone:

Envoyé par
armata
...
Pour contourner le problème j'ai tenté d'utiliser curl mais j'obtiens "Couldn't resolve host 'eu.battle.net'"
...
@Abazada:
Merci beaucoup, je ne connaissais pas gethostbyname mais en effet avec cette démonstration il est évidant que nous sommes bien face à un problème DNS.
En revanche j'ai déjà pris contact avec le support mais pour le moment sans résultat positif.
Bonjour,
Dans le cas présent Gaston, c'est un peu "Pourquoi faire simple quand on peut faire compliqué ?"
file_get_contents est simple et joue bien son rôle :
Code PHP:
$html = file_get_contents('http://www.google.fr');
echo strlen($html); # -> 43749 Ok :)
Le problème ici est autre: problème de résolution DNS chez OVH:
Code PHP:
echo gethostbyname('www.ovh.com');
echo gethostbyname('www.google.fr');
echo gethostbyname('www.battle.net');
echo gethostbyname('eu.battle.net');
Code:
213.186.33.34
173.194.35.151
www.battle.net
eu.battle.net
La configuration du domaine me semble pourtant bonne.
Contacter le support me semble une bonne idée.
Gaston_Phone
03/10/2012, 17h06
S'il s'agit de lire le contenu d'un fichier ou d'une page sur un site extérieur, c'est les fonctions
CURL qu'il faut utiliser.
CURL
J'utilise CURL sur un hébergement PERSO et cela fonctionne très bien :
Code PHP:
$url = "http://www.xxx.com";
$ch_rech = curl_init(); // Initialiser cURL.
curl_setopt($ch_rech, CURLOPT_URL, $url); // Indiquer quel URL récupérer
curl_setopt($ch_rech, CURLOPT_HEADER, 0); // Ne pas inclure l'header dans la réponse.
ob_start(); // Commencer à 'cache' l'output.
curl_exec($ch_rech); // Exécuter la requète.
curl_close($ch_rech); // Fermer cURL.
$Results = ob_get_contents(); // Sauvegarder le 'cache' dans la variable $Results.
ob_end_clean(); // Vider le buffer.
J'ai le même problème que toi. (pour le site de wow)
D'après ce que j'ai pu lire, il semble que ça puisse provenir d'un souci de résolution de DNS du serveur (apache je suppose).
Maintenant, à savoir si on a la possibilité de redémarrer les services sur un mutualisé....
Bonjour,
Depuis plusieurs jours déjà je me débat avec une erreur php étrange:
Code:
Warning: file_get_contents(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /homez.337/armakura/www/dynban/actu.php on line 31
Warning: file_get_contents(http://eu.battle.net/api/wow/guild/Blackrock/void?fields=news): failed to open stream: php_network_getaddresses: getaddrinfo failed: Name or service not known in /homez.337/armakura/www/dynban/actu.php on line 31
l'url "http://eu.battle.net/api/wow/guild/Blackrock/void?fields=news" est bien existante et accessible.
Pour contourner le problème j'ai tenté d'utiliser curl mais j'obtiens "Couldn't resolve host 'eu.battle.net'"
J'ai également fait des tests pour d'autres sites que
http://eu.battle.net et tout fonctionne.
Mon script php fonctionne correctement depuis un environnement wamp local mais sur ovh rien à faire.
une idée?