Dev DOS Dev DOS - 22 days ago 8
PHP Question

curl with basic http auth not working

I'm trying to connect to a WS using curl.
My code :

$url ="https://example?param=ee&param2=rr";
$headers = array(
'Content-Type:application/json',
'Authorization: Basic '. base64_encode("username:password") // <---
);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL,$url);
curl_setopt($curl, CURLOPT_HEADER,true);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

//curl_setopt($curl, CURLOPT_USERPWD, 'username:passwrd');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$curl_response = curl_exec($curl);


I get this error:


'content_type' => NULL, 'http_code' => 0, 'header_size' => 0,
'request_size' => 0, 'filetime' => -1, 'ssl_verify_result' => 0,
'redirect_count' => 0, 'total_time' => 0.051353999999999997,
'namelookup_time' => 0.0032659999999999998,
'connect_time' => 0.051365000000000001, 'pretransfer_time' => 0,
'size_upload' => 0, 'size_download' => 0, 'speed_download' => 0,
'speed_upload' => 0, 'download_content_length' => -1,
'upload_content_length' => -1, 'starttransfer_time' => 0,
'redirect_time' => 0, 'certinfo' => array ( ),
'primary_ip' => '185.18.224.30', 'primary_port' => 443,
'local_ip' => '172.23.155.94', 'local_port' => 44608,
'redirect_url' => '', )error occured during curl exec.



I can't figure out the error in my code. Have a missed a parameter?

Answer

Try to add:

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

By default when you use HTTPS protocol, CURL checks SSL sertificate on your server and gives an error if it is not valid. The line above turns this off.

Comments