cURL проще, чем реализация HTTP на стороне клиента. Все, что вам нужно сделать, это установить несколько параметров, а cURL обрабатывает все остальное.
$curl = curl_init($URL);
curl_setopt_array($curl,
array(
CURLOPT_USERAGENT => 'Mozilla/5.0 (PLAYSTATION 3; 2.00)',
CURLOPT_HTTPAUTH => CURLAUTH_ANY,
CURLOPT_USERPWD => 'User:Password',
CURLOPT_RETURNTRANSFER => True,
CURLOPT_FOLLOWLOCATION => True
// set CURLOPT_HEADER to True if you want headers in the result.
)
);
$result = curl_exec($curl);
Если вам нужно установить заголовок, который не поддерживает cURL, используйте опцию CURLOPT_HTTPHEADER, передавая массив дополнительных заголовков. Установите CURLOPT_HEADERFUNCTION для обратного вызова, если вам нужно проанализировать заголовки. Прочитайте документы для curl_setopt
для получения дополнительной информации.