curl似乎在我的本地项目中不起作用。
此示例不会显示任何内容:
<!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>
我在Windows 8上使用xampp .Php 5.6。
我尽一切努力使其成功(有些已经完成):
未注释的扩展名:php.ini文件中的php_curl.dll
在php.ini中取消注释extension_dir =“C:\ xampp \ php \ ext”
在c:/ xampp / php中添加这些文件,并确保c:/ WINDOWS / System32:ssleay32.dll,libssh2.dll,libeay32.dll
php_curl.dll位于c:/ xampp / php / ext
我不明白为什么它仍然不起作用...有任何想法恳求吗?
答案 0 :(得分:0)
你必须使用这个curl_setopt($ ch,CURLOPT_FOLLOWLOCATION,true);因为wiki页面中有一个重定向,你从http调用https协议。这是您需要设置的唯一参数,它将起作用。
代码更改
<!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>