php的CURLOPT_USERPWD做什么 [英] What does php's CURLOPT_USERPWD do

查看:3465
本文介绍了php的CURLOPT_USERPWD做什么的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道 CURLOPT_USERPWD 实际上在做什么url,标题或请求的数据。是否为 Authorization:Basic< base64 of user:pass> 的I​​NSTEAD或者它是否可以工作?



是否正在修改此网址的网址:



用户名: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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆