Maison  >  Article  >  développement back-end  >  Comment PHP étend CURL

Comment PHP étend CURL

小云云
小云云original
2018-03-27 11:21:122409parcourir

CURL est un outil de transfert de fichiers qui utilise la syntaxe URL pour fonctionner en mode ligne de commande. Il prend en charge de nombreux protocoles. Il prend en charge la fonctionnalité d'authentification. Il est couramment utilisé en PHP pour implémenter des fonctions de transmission plus complexes.

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. Connexion par simulation : Accédez à un 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 supporte pas CURL, vous devez activer cette fonction dans php.ini

;extension Supprimez le point-virgule devant =php_curl.dll

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

?

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

3. Paramètres Après cela, exécutez la transaction curl_exec($curl); 2. Utilisez la fonction curl_setopt() pour définir les options.

4 Enfin, fermez curl_close();

Utilisez PHP CURL pour implémenter les fonctions de transmission et d'acquisition (méthode post-transmission) : obtenez les données d'une page Web distante

$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]

implémentation La partie la plus basique 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 boucle

Connexion simulée : vous pouvez toujours consulter les informations correspondantes même sans vous connecter au forum php100.

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 le nom du champ de saisie et le nombre de champs requis pour la connexion

2. 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);
?>

Recommandations associées :

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


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en 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