Dev DOS Dev DOS - 1 year ago 188
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 Source

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.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download