php curl basic-authentication

¿Qué hace el CURLOPT_USERPWD de php?



basic-authentication (1)

Me preguntaba qué hace realmente CURLOPT_USERPWD a la url, el encabezado o los datos de una solicitud. ¿Está EN LUGAR DE LA AUTORIZACIÓN Authorization: Basic <base64 of user:pass> o funciona junto a esto?

¿Está modificando la url a esto ?:

username:[email protected]

Vi un código como este, así que me pregunto, ya que parece que si solicito la url en una solicitud equivalente a NodeJS no funciona con solo un encabezado de Autorización (tengo una teoría de que el servidor está roto e ignorando el encabezado Auth y usando el nombre de usuario: contraseña en la 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);

Gracias


¿Está modificando la url a esto ?:

username:[email protected]

No, la url sigue siendo la misma. Puedes consultar con

curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);

Esta

$encodedAuth = base64_encode(self::$pfAdapterUser.":".self::$pfAdapterPasswd); curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: Basic ".$encodedAuth));

Y esto

curl_setopt($ch, CURLOPT_USERPWD, self::$pfAdapterUser.":".self::$pfAdapterPasswd);

están haciendo lo mismo, así que no hay necesidad de usarlos juntos (aunque no se romperá), use uno y funcionará bien.