Je me demandais ce que CURLOPT_USERPWD fait réellement à l'url, à l'en-tête ou aux données d'une demande. Est-ce au lieu de Authorization: Basic <base64 of user:pass>
ou ça marche à côté de ça?
Est-ce que cela modifie l'URL?:
username:[email protected]
J'ai vu du code comme celui-ci, donc je me demande, car il semble que si je demande que l'URL dans une demande équivalente NodeJS ne fonctionne pas qu'avec un en-tête d'autorisation (j'ai une théorie selon laquelle le serveur est cassé et ignore l'en-tête Auth et utilise le nom d'utilisateur: mot de passe dans l'url):
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$encodedAuth = base64_encode(self::$pfAdapterUser.":".self::$pfAdapterPasswd);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authentication : Basic ".$encodedAuth));
curl_setopt($ch, CURLOPT_USERPWD, self::$pfAdapterUser.":".self::$pfAdapterPasswd);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
Merci
Est-ce que cela modifie l'URL?:
username:[email protected]
Non, l'URL est toujours la même. Vous pouvez vérifier avec
curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
Cette
$encodedAuth = base64_encode(self::$pfAdapterUser.":".self::$pfAdapterPasswd);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Basic ".$encodedAuth));
Et ça
curl_setopt($ch, CURLOPT_USERPWD, self::$pfAdapterUser.":".self::$pfAdapterPasswd);
font la même chose donc il n'est pas nécessaire de les utiliser ensemble (même si cela ne cassera pas), utilisez-en un et cela fonctionnera bien.