2017-10-06 2 views
-1

j'utilise une boucle pour obtenir un JSON de la vapeur sur l'inventaire et parfois cela fonctionne parfois dosentCurl retruns null parfois après rafraîchissement php

Je pense que son propos de frequntly requist

ne importe qui ont un travail autour d'elle?

$curl_handle=curl_init(); 
curl_setopt($curl_handle, CURLOPT_URL,'http://steamcommunity.com/profiles/'.$id.'/inventory/json/730/2/'); 
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2); 
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Your application name'); 
$res = curl_exec($curl_handle); 
if ($res === false) throw new Exception('Curl error: '.curl_error($ch)); 
$dec = json_decode($res, true); 
curl_close($curl_handle); 

ici est la boucle i utilise

+2

Cache les requêtes réussies (dans un fichier/etc), et d'utiliser ce cache comme solution de repli. Si le point final ne fonctionne pas de manière fiable, votre couche doit ajouter la résilience. – iainn

+0

si vous ratez la quiztion plz dire pourquoi! –

+0

mais je ne veux pas faire un fichier pour cela je veux juste avoir un requiste donc s'il y a des mises à jour je veux l'avoir en temps réel pas comme un fichier –

Répondre

0

Temps de connexion à est faible, essayez plus petit morceau comme valeur 10 secondes. si non résolu, passé l'erreur d'exception pour plus d'aide.

curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 10); 
+0

ne l'a pas changé:/ –

+0

https://complecto.se/csgo_inv/ –

+0

c'est l'URL du site je teste sur –

0

essayer utiliser le code pour montrer en-tête et trouver problème:

$curl_handle=curl_init(); 
curl_setopt($curl_handle, CURLOPT_URL,'http://steamcommunity.com/profiles/'.$id.'/inventory/json/730/2/'); 
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2); 
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Your application name'); 
curl_setopt($curl_handle, CURLOPT_HEADER, 1); 

$res = curl_exec($curl_handle); 

print_r(curl_getinfo($curl_handle)); 

if ($res === false) throw new Exception('Curl error: '.curl_error($ch)); 
$dec = json_decode($res, true); 
curl_close($curl_handle); 
+0

fait que vous pouvez donc voir –

+0

[http_code] => 429: Trop de demandes, steamcommunity.com est limité à la demande, vous avez juste mis en cache et envoyer une demande faible –