Curl PHP Basic HTTP Authentication返回405错误

时间:2017-10-13 20:02:40

标签: php codeigniter http authentication curl

方法

/user/role/authenticate
我的网络服务器API上的

确实需要以用户名和密码的形式进行HTTP身份验证。

我使用以下代码从不同的前端访问我的网络服务器的API,该前端是使用CodeIgniter设计的。

$URL='http://.../user/role/authenticate'; 
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$URL);
curl_setopt($ch, CURLOPT_TIMEOUT, 30); //timeout after 30 seconds
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_USERPWD, "testusername:testpassword");
$result=curl_exec ($ch);        
$status_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); 
echo $status_code;
print_r($result);
curl_close ($ch);

但我得到了结果,405:方法不允许“。

怎么办?

1 个答案:

答案 0 :(得分:0)

身份验证需要post方法。

这个例子来自我的curl标题

"authorization: Basic ". base64_encode($username.':'.$password),

base64是可选的,取决于您的API身份验证