php的CURLOPT_USERPWD做什么 [英] What does php's CURLOPT_USERPWD do
问题描述
我想知道 CURLOPT_USERPWD 实际上在做什么url,标题或请求的数据。是否为 Authorization:Basic< base64 of user:pass>
的INSTEAD或者它是否可以工作?
是否正在修改此网址的网址:
用户名:password@someurl.com
我看到一些像这样的代码,所以我想知道,因为它似乎如果我请求的URL在一个NodeJS等效的请求它不工作与一个授权头(我有一个理论服务器坏了,忽略Auth头,并在url中使用username:password):
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);感谢解决方案
用户名:password@someurl.com / code>
否,网址仍然相同。您可以查看
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);
正在做同样的事情,所以没有必要一起使用它们,使用一个,它会工作正常。
I was wondering what CURLOPT_USERPWD is actually doing to the url, header or data of a request. Is it INSTEAD OF the Authorization: Basic <base64 of user:pass>
or does it work along side this?
Is it modifying the url to this?:
username:password@someurl.com
I saw some code like this so I am wondering, as it seems if I request that url in a NodeJS equivalent request it is not working with just an Authorization header (I have a theory the server is broken and ignoring the Auth header and using the username:password in the 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);
Thanks
解决方案
Is it modifying the url to this?:
username:password@someurl.com
No, the url still the same. You can check with
curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
This
$encodedAuth = base64_encode(self::$pfAdapterUser.":".self::$pfAdapterPasswd);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization : Basic ".$encodedAuth));
And this
curl_setopt($ch, CURLOPT_USERPWD, self::$pfAdapterUser.":".self::$pfAdapterPasswd);
are doing the same thing so there's no need to use them together (although it won't break), use one and it will work fine.
这篇关于php的CURLOPT_USERPWD做什么的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文