OVH Community, votre nouvel espace communautaire.

file_get_contents(): getaddrinfo failed: Name or service not known


mdervaux
18/10/2012, 09h54
Je confirme aussi, tout fonctionne bien

armata
18/10/2012, 08h01
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, 17h30
Je vais faire un test aussi de mon coté et je publierai le résultat. Merci pour ton retour papasti!

papasti
17/10/2012, 17h29
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, 15h04
Oui surtout que passer par une passerelle sur un serveur gratuit rallonge le temps d'obtention des informations, et ce n'est pas rien :/

armata
10/10/2012, 15h42
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

papasti
09/10/2012, 17h05
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.

papasti
09/10/2012, 11h52
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/

papasti
09/10/2012, 11h40
Citation Envoyé par armata
xmlHTTPRequest ne permet pas les accès entre serveurs pour une question de sécurité (cf. http://en.wikipedia.org/wiki/XMLHttpRequest).
Sauf si le domaine distant l'autorise. Mais j'ai fait l'essai et il ne fallait pas rêver

armata
09/10/2012, 09h15
Citation 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, 23h35
j'ai utilisé un serveur "passerelle" sur un hebergement gratuit :/ ça fonctionne pas en parsant l'armurerie mais les webservices de blizzard fonctionnent ^^

papasti
08/10/2012, 23h34
Une question : Ne peut-on pas contourner le problème en effectuant une requete Ajax (xmlHTTPRequest) ?

eugne
07/10/2012, 14h17
Citation 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, 22h36
J'ai exactement le même souci, hésites pas à faire un retour dès que tu as plus d'info ^^
Merci d'avance,

papasti
04/10/2012, 16h59
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

armata
04/10/2012, 16h12
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.

papasti
04/10/2012, 15h12
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, 14h50
# 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

armata
04/10/2012, 14h37
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, 14h17
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

armata
04/10/2012, 14h14
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, 13h59
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

Abazada
04/10/2012, 13h06
> 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, 12h16
dig www.battle.net :
Code:
;; ANSWER SECTION:
www.battle.net.         60      IN      A       80.239.186.26
Frédéric

Abazada
04/10/2012, 12h09
Citation 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, 12h04
Je n'ai pas de solution à proposer, malheureusement.

Frédéric

papasti
04/10/2012, 11h58
Y a-t-il un moyen en php pour pallier à ce problème de TTL ?

fritz2cat
04/10/2012, 10h06
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, 09h20
Citation 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.

armata
04/10/2012, 08h41
@Gaston_Phone:
Citation 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.

Abazada
04/10/2012, 04h01
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, 18h06
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_rechCURLOPT_URL$url);  // Indiquer quel URL récupérer
      
curl_setopt($ch_rechCURLOPT_HEADER0);  // 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. 

papasti
03/10/2012, 17h31
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é....

armata
03/10/2012, 09h17
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?