Solution à la requête PHP perdue : 1. Urlencode la chaîne cryptée avant de l'envoyer 2. Définissez le proxy dans curl sur le port 8888 de fiddler.
L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3
Comment résoudre le problème de perte de requête PHP ?
Problème '+' manquant de la demande de post curl php
Contexte :
En utilisant un saut d'autorisation sans connexion avec un ami, j'ai constaté que l'autorisation échouait de temps en temps. Après avoir vérifié le journal, j'ai découvert que le mot de passe contenait. le caractère « + » échouera.
Il a été découvert grâce à la capture de paquets qu'il s'agissait de PHP. Lors de l'utilisation de curl pour envoyer une requête, le « + » sera converti en espace (La raison est inconnue... on soupçonne que curl décode l'URL par défaut)
La solution est la suivante :
Cryptez-la d'abord. La chaîne est codée en urlen puis envoyée.
P.S.
De plus, il semble qu'il ne soit pas facile de capturer et de décoder les requêtes https sous Linux. Plus tard, j'ai utilisé fiddler pour capturer des paquets sous Windows. Après avoir configuré la capture https, j'ai découvert que la requête provenait du php. le code n'a toujours pas été capturé. Vous devez définir un proxy dans curl sur le port 8888 de Fiddler pour réussir l'exploration
curl_setopt($ch,CURLOPT_PROXY,'127.0.0.1:8888');
Apprentissage recommandé : "Tutoriel vidéo PHP"
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!