Curl ne fonctionne pas, erreur: impossible de se connecter à l'hôte
J'utilise curl pour obtenir des renseignements météorologiques d'un site spécifique api.wunderground.com et le problème est sa ne marche pas. J'ai essayé d'utiliser la fonction file_get_contents aussi, mais sa ne fonctionne pas non plus. Voici mon code pour curl:
function get_web_page($url)
{
//echo "curl:url<pre>".$url."</pre><BR>";
$options = array(
CURLOPT_RETURNTRANSFER => true, //return web page
CURLOPT_HEADER => false, //don't return headers
CURLOPT_FOLLOWLOCATION => true, //follow redirects
CURLOPT_ENCODING => "", //handle all encodings
CURLOPT_USERAGENT => "spider", //who am i
CURLOPT_AUTOREFERER => true, //set referer on redirect
CURLOPT_CONNECTTIMEOUT => 15, //timeout on connect
CURLOPT_TIMEOUT => 15, //timeout on response
CURLOPT_MAXREDIRS => 10, //stop after 10 redirects
CURLOPT_PROXY => null,
);
$ch = curl_init($url);
curl_setopt_array( $ch, $options );
$content = curl_exec( $ch );
$err = curl_errno( $ch );
$errmsg = curl_error( $ch );
$header = curl_getinfo( $ch,CURLINFO_EFFECTIVE_URL );
curl_close( $ch );
$header['errno'] = $err;
$header['errmsg'] = $errmsg;
//change errmsg here to errno
if ($errmsg)
{
echo "CURL:".$errmsg."<BR>";
}
return $content;
}
$url = "http://api.wunderground.com/api/67927f145c532a19/geolookup/conditions/q/uae/dubai.json";
get_web_page($url);
J'ai vérifié mes paramètres de serveur, curl est activé et que le serveur utilise le port 80. Quelqu'un peut-il m'aider, je suis à court d'idées.
- Quelle est l'erreur, Ce qui est
not working
? - CURL:impossible de se connecter à l'hôte de son montrant ce message je recherche par le biais de toutes les options et ce qui a attiré mon œil, c'est que mon hébergement est en utilisant le port 80 c'est pourquoi sa ne fonctionne pas
- avez-vous vérifier mes mises à jour de réponse?
- oui j'ai vérifier son mais toujours pas de travail
- J'ai le même problème. Curl est activé mais l'erreur est impossible de se connecter à l'hôte. Toute suggestion ?
Vous devez vous connecter pour publier un commentaire.
vous avez juste besoin de faire écho à la sortie.
EDIT:
Vous pouvez également utiliser file_get_contents
Code de mise à jour:
j'ai essayé le même code et a obtenu la réponse que
{
"intervention": {
"version": "0.1"
,"termsofService": "http://www.wunderground.com/weather/api/d/terms.html"
,"caractéristiques": {
"geolookup": 1
"conditions": 1
}
Le code ci-dessus est droite. vous oubliez simple pour imprimer la valeur retournée par la fonction
L'API semble bloquer suspect, les Agents Utilisateurs. Essayez d'utiliser un standard de l'Agent Utilisateur du navigateur au lieu de
spider
.Avec la normale ( un navigateur de l'utilisateur de l'agent ) , l'API retourne réponse normale .
peut-être que vous vous connectez à internet par proxy.vous pouvez l'obtenir par la fixation d'un proxy dans curl_setopt fonction.sa fonction bien pour moi.
Simplement ajouter
il a résolu le problème