Что делает CURLOPT_USERPWD php

Мне было интересно, что CURLOPT_USERPWD действительно делает с url, заголовком или данными запроса. Является ли это ВМЕСТОЙ Authorization: Basic <base64 of user:pass> или он работает вместе с этим?

Могу ли я изменить этот URL ?:

username:password@someurl.com

Я видел такой код, так что мне интересно, как мне кажется, если я запрошу этот url в эквивалентном запросе NodeJS, он не работает с только заголовком авторизации (у меня есть теория, что сервер сломан и игнорирует заголовок Auth и использует имя пользователя: пароль в 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); 

благодаря

Могу ли я изменить этот URL ?:

username:password@someurl.com

Нет, URL все тот же. Вы можете проверить

 curl_getinfo($ch, CURLINFO_EFFECTIVE_URL); 

Эта

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

И это

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

делают то же самое, поэтому нет необходимости использовать их вместе (хотя он не сломается), используйте один, и он будет работать нормально.