Maison > développement back-end > tutoriel php > PHP utilise curl pour implémenter la fonction de soumission de formulaire simulé

PHP utilise curl pour implémenter la fonction de soumission de formulaire simulé

墨辰丷
Libérer: 2023-03-27 13:24:01
original
1986 Les gens l'ont consulté

Cet article présente principalement en détail comment PHP utilise curl pour implémenter une simple fonction de soumission de formulaire simulé. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer

Le contenu spécifique est le suivant
<.>

//初始化curl
$ch = curl_init();
$url = &#39;xxx&#39;;
$option = [
 CURLOPT_URL => $url,
 CURLOPT_HEADER => 1,
 CURLOPT_RETURNTRANSFER => 1,
];
curl_setopt_array($ch, $option);
$output = curl_exec($ch);
preg_match_all(&#39;/Set-Cookie: (.*);/i&#39;, $output, $str); //正则匹配
//如果有token的话就获取token
preg_match(&#39;/token = \"(.*)\"/i&#39;, $output, $token);
if (empty($str)) {
 return false;
}
$cook = $str[1];
$cookie = implode(&#39;;&#39;, $cook);

$up_url = &#39;xxx&#39;;
$post_data = [
 &#39;name&#39; => &#39;test_&#39;,
 &#39;tel&#39; => &#39;18819271234&#39;,
 &#39;email&#39; => &#39;qqhahadfdfads@163.com&#39;,
 &#39;message&#39; => &#39;this is my message;&#39;,
 &#39;_token&#39; => $token[1],
];
$options = [
 CURLOPT_URL => $up_url,
 CURLOPT_RETURNTRANSFER => 1,
 CURLOPT_HEADER => 1,
 CURLOPT_USERAGENT => "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.36",
 CURLOPT_COOKIESESSION => 1,
 CURLOPT_POST => 1,
 CURLOPT_POSTFIELDS => $post_data,
 CURLOPT_COOKIE => $cookie
];
curl_setopt_array($ch, $options);
$res = curl_exec($ch);
// $info = curl_getinfo($ch);
if ($res === FALSE) {
 p(&#39;curl Error: &#39; . curl_error($ch));
}
curl_close($ch);
p($res);
Copier après la connexion

est extrait d'un site Web développé sur la base de Laravel. Il y a un csrf_token dans le formulaire dans Laravel. Vous devez donc obtenir le jeton et apporter le. cookie

Notez ici que vous ne pouvez pas initialiser deux boucles en même temps, sinon le jeton ou le cookie changera. Si vous devez initialiser deux boucles, vous pouvez utiliser le paramètre CURLOPT_COOKIEJAR [Voir le manuel pour plus de détails. ]

Ensuite, lancez :

binggo

Lorsque vous utilisez curl, le plus important est une application de cookie. Après avoir lu le manuel, il existe quatre façons de définir les cookies. A...CURLOPT_COOKIESESSION, CURLOPT_COOKIE, CURLOPT_COOKIEFILE, CURLOPT_COOKIEJAR

Recommandations associées :

php utilise curl pour implémenter le ftp. fonction de téléchargement de fichiers

php envoie des données XML via curl et obtient des données XML

php curl Explication détaillée des étapes pour obtenir la valeur de retour

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal