Solution à l'erreur de publication php curl : ouvrez d'abord le fichier de code PHP erroné ; puis modifiez le "$data" dans le code PHP d'un tableau aux données codées par la fonction "urlencode()".
L'environnement d'exploitation de cet article : système Windows7, version PHP7.1, ordinateur DELL G3
Solution au problème lorsque php curl post La méthode
a le scénario suivant :
soumet les données à b.php dans a.php via POST, mais b.php ne peut pas recevoir les données et le CURL opération Cela montre à nouveau le succès, ce qui est très étrange. Il s'avère que "lors du passage d'un tableau à CURLOPT_POSTFIELDS, cURL encodera les données sous la forme multipart/form-data, mais lors de la transmission d'une chaîne codée en URL, les données seront codées sous la forme application/x-www-form-urlencoded." .
Lorsque des personnes qui ne sont pas familières avec CURL écrivent des programmes, le code souvent :
Exemple de code :
<?php $data = array( 'Title' => $title, 'Content' => $content, 'ComeFrom' => $comefrom ); curl_setopt($ch, CURLOPT_DNS_USE_GLOBAL_CACHE, false); curl_setopt($ch, CURLOPT_URL, 'http://example.com/b.php'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_exec($ch);
Convertissez les données à soumettre en tant que un tableau Le formulaire est envoyé via POST, ce qui amènera CURL à utiliser le "mauvais" encodage "multipart/form-data", ce qui équivaut à utiliser directement "