Maison >php教程 >PHP开发 >Explication détaillée de l'utilisation de l'extension PHP CURL

Explication détaillée de l'utilisation de l'extension PHP CURL

高洛峰
高洛峰original
2016-12-23 15:22:121511parcourir

Fonctions implémentées :

1. Réaliser l'acquisition et la collecte de contenu à distance

2 Réaliser le téléchargement FTP de la version Web PHP

3. Go En tant que système de messagerie, curl peut simuler des cookies

4. Implémenter l'amarrage d'interface (API), la transmission de données, etc. : envoyer des messages texte via une plateforme, capturer et transférer les informations transmises.

5. Implémenter des cookies simulés, etc. : Certains attributs ne peuvent être utilisés que lorsque vous êtes connecté.

Comment utiliser la fonction CURL :

Par défaut, PHP ne prend pas en charge CURL. Vous devez activer cette fonction dans php.ini

extension=php_curl.dll. devant Supprimer le point-virgule

1 La première étape de toute l'opération consiste à initialiser avec la fonction cur_init()

$curl = curl_init(‘www.php.cn')

2. Utilisez la fonction curl_setopt() pour définir les options.

3. Après le paramétrage, exécutez la transaction curl_exec($curl);

4 Enfin fermez curl_close();

Utilisez PHP CURL pour implémenter les fonctions de transmission et d'acquisition ( Méthode de post-transmission) : Obtenez les données de la page Web à distance

$user = "admin";
$pass = "admin";
$curlPost = "user=$user&pass=$pass";
$ch = curl_init(); //初始化一个CURL对象
curl_setopt($ch, CURLOPT_URL, "http://localhost/edu/login.php");
//设置你所需要抓取的URL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
//设置curl参数,要求结果是否输出到屏幕上,为true的时候是不返回到网页中
假设上面的0换成1的话,那么接下来的$data就需要echo一下。
curl_setopt($ch, CURLOPT_POST, 1);
//post提交
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
$data = curl_exec($ch);
//运行curl,请求网页。
curl_close($ch);
[/code]

pour réaliser la partie la plus élémentaire de la connexion simulée à distance.

curl doit encore configurer le nom d'utilisateur et le mot de passe, mais ils sont masqués par le navigateur.

============================================ == ================================

Connexion simulée par curl

Simulé login : Même si vous ne vous connectez pas au forum php100, vous pouvez toujours consulter les informations correspondantes.

Analyser les champs de connexion--->Conserver les cookies après la connexion-->Lire les cookies et accéder aux pages pertinentes-->Nombre d'explorations

1 Après une connexion simulée Créer un fichier. pour enregistrer le contenu du cookie

2. Simuler l'état de connexion de l'utilisateur en lisant le contenu du cookie généré

3. Accédez à la page correspondante pour obtenir le contenu requis

Créer un fichier temporaire La fonction tempname File

tempnam() crée un fichier temporaire avec un nom de fichier unique. En cas de succès, la fonction renvoie le nouveau nom de fichier temporaire. En cas d'échec, renvoie false.

tempnam(dir,prefix)

Description du paramètre

dir Obligatoire. Spécifie le répertoire dans lequel les fichiers temporaires sont créés.

préfixe requis. Spécifie le début du nom de fichier.

est équivalent à fopen  fwirte  fclose

qui peut renvoyer une valeur booléenne. Il est très dangereux d'utiliser un tiers pour vous connecter à votre QQ et MSN, car il peut enregistrer votre statut de connexion et capturer votre nom d'utilisateur et votre mot de passe.

Utilisez CURL pour simuler la connexion au forum PHP100

1 Analysez les noms de champs et le nombre de champs requis dans la zone de saisie requise pour la connexion

2. cookie et obtenez le nombre de pièces d'or des membres après avoir simulé la connexion

Code :

//初始化一个 cURL 对象
$curl = curl_init();
//设置你需要抓取的URL
curl_setopt($curl, CURLOPT_URL, " http://www.baidu.com ");
//设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 0);
//运行cURL,请求网页
$data = curl_exec($curl);
//关闭URL请求
curl_close($curl);
$user = "admin";
$pass = "admin100";
$curlPost = "user=$user&pass=$pass";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, " http://localhost/curl/login.php ");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
$data = curl_exec($ch);
curl_close($ch);
?>
if($_POST['user']=="admin"){
 echo "";
}else{
 echo "";
}
//print_r($_POST);
?>


Pour des informations plus détaillées sur l'utilisation de l'extension PHP CURL. , veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn