2017-03-07 22 views
-1

ローカルプロジェクトでcurlが動作しないようです。CurlはxamppとPhpで動作しません。5.6

この例は、私のために何も表示されません:

<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>Exemple d'utilisation de curl</title> 
</head> 

<body> 

<?php 
// Url de la page dont vous voulez récupérer le contenu (plus précisément : le code source) 
$url = 'http://fr.wikipedia.org/wiki/CURL'; 
// Initialise une session cURL 
$ch = curl_init(); 

// Défini quelques options 
// - Indique l'url auquel curl devra accéder 
curl_setopt($ch, CURLOPT_URL, $url); 
// - Retourne le contenu par la fonction curl_exec au lieu d'afficher directement le contenu récupéré 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
// - Défini un user-agent à envoyer au serveur. Vous pouvez par exemple envoyer un user-agent d'un téléphone Android, d'un iPhone, ... pour tenter de récupérer le contenu d'une version mobile d'un site web 
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0'); 
// - Exécute la session cURL fournie et stocke le contenu récupéré dans la variable $resultat (grâce à l'option CURLOPT_RETURNTRANSFER) 
$resultat = curl_exec ($ch); 
// - Ferme une session cURL et donc la connexion au serveur distant 
curl_close($ch); 

// Affiche le contenu récupérer par curl 
echo $resultat; 

?> 


</body> 
</html> 

私は窓8のPHP 5.6にXAMPPを使用しています。

私は(いくつかはすでに行われた)それを動作させるためにすべてをした:

  • アンコメント拡張子:php.iniファイルでphp_curl.dll

  • コメントを外しのextension_dir = "C:\ xamppの\をphp.iniの

  • でのPHPの\ extに "Cでこれらのファイルを追加:/ XAMPP/PHPとCにsure-こと-to:/ WINDOWS/System32に:ssleay32.dllを、libssh2.dll、libeay32.dll

  • php_curl.dll Cである:/ XAMPP/PHP/extに

  • PATHが正しくで完成されていることを確認:C:\ XAMPPの\ phpの
  • 私はすべてが正しく
を初期化して確認するために私のコンピュータを再起動します

私はまだそれが動作しない理由をundestandしない...任意のアイデアpleaaaaase?

+0

これはCURLが機能していないとは何の関係もありません。 Wikipediaには、https URLへの301リダイレクトがあり、 'CURLOPT_FOLLOWLOCATION'フラグなしでhttp URLを呼び出しています。それでも、おそらく 'CURLOPT_SSL_VERIFYPEER'を無効にする必要があります。 – nimmneun

答えて

0

このcurl_setopt($ ch、CURLOPT_FOLLOWLOCATION、true)を使用する必要があります。 httpからhttpsプロトコルに呼び出されているwikiページにリダイレクトがあるためです。これは設定する必要がある唯一のパラメータであり、動作します。

コードの変更

<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>Exemple d'utilisation de curl</title> 
</head> 

<body> 

<?php 
// Url de la page dont vous voulez récupérer le contenu (plus précisément : le code source) 
$url = 'http://fr.wikipedia.org/wiki/CURL'; 
// Initialise une session cURL 
$ch = curl_init(); 

// Défini quelques options 
// - Indique l'url auquel curl devra accéder 
curl_setopt($ch, CURLOPT_URL, $url); 
// - Retourne le contenu par la fonction curl_exec au lieu d'afficher directement le contenu récupéré 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 

// - Défini un user-agent à envoyer au serveur. Vous pouvez par exemple envoyer un user-agent d'un téléphone Android, d'un iPhone, ... pour tenter de récupérer le contenu d'une version mobile d'un site web 
//curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:21.0) Gecko/20100101 Firefox/21.0'); 
// - Exécute la session cURL fournie et stocke le contenu récupéré dans la variable $resultat (grâce à l'option CURLOPT_RETURNTRANSFER) 
$resultat = curl_exec ($ch); 
// - Ferme une session cURL et donc la connexion au serveur distant 
curl_close($ch); 

// Affiche le contenu récupérer par curl 
echo $resultat; 

?> 


</body> 
</html> 
+0

まだ動作していません...何が起きているのか分かりません... – Melody

+0

エラーログをチェックインしてください。つまり、ログ/エラーログファイルに例外があります。あなたはどんなエラーを出していますか?これらのステートメントを追加して、デバッグを有効にします。 curl_setopt($ curl、CURLOPT_VERBOSE、true); curl_setopt($ curl、CURLOPT_STDERR、$ out);サンプルはここを参照してください:http://stackoverflow.com/questions/3475723/how-to-write-verbose-information-into-file – Senthil

関連する問題