I guess easier way for you might be guzzle. You just can do something like this:
$client = new GuzzleHttp\Client(); $res = $client->get('https://api.github.com/user', ['auth' => ['user', 'pass']]); echo $res->getStatusCode(); // "200" echo $res->getHeader('content-type'); // 'application/json; charset=utf8' echo $res->getBody(); // {"type":"User"...'
More info in docs.
In other way, you may check this solution.
If you realy want to get your request, but not response headers, you should try this code:
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'http://www.google.com/'); curl_setopt($ch, CURLINFO_HEADER_OUT, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($ch); curl_getinfo ($ch); /*[ "url" => "http://www.google.com/", "content_type" => "text/html; charset=UTF-8", "http_code" => 302, "header_size" => 267, ... "redirect_url" => "http://www.google.com.ua/?gfe_rd=cr&ei=-fClVYDfA9eEtAH65oGQAQ", "request_header" => "GET / HTTP/1.1\r\nHost: www.google.com\r\nAccept: * /*\r\n\r\n" ]*/