PHP CURL ничего не возвращает

function ParseUrl($URL) { $crl = curl_init(); curl_setopt ($crl, CURLOPT_URL, $URL); curl_setopt ($crl, CURLOPT_PORT, 8086); curl_setopt ($crl, CURLOPT_USERPWD, "admin:pass"); curl_setopt ($crl, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($crl, CURLOPT_CONNECTTIMEOUT, 5); $ret = curl_exec($crl); curl_close($crl); return $ret; } echo ParseUrl('http://xxx.me/serverinfo'); 

Приведенный выше код просто ничего не возвращает. На странице, которую я пытаюсь получить с помощью curl, используется свойство проверки подлинности HTTP.

Я пропустил что-то простое или что?

Related of "PHP CURL ничего не возвращает"

Начните с этого и посмотрите, что вы получите, и после этого было бы довольно очевидно, в чем проблема:

Проверьте, была ли ошибка с запросом после curl_exec:

 if(curl_errno($ch)){ echo 'Curl error: ' . curl_error($ch); } 

Это даст вам достаточно информации, чтобы узнать, была ли ошибка с запросом. Если ошибки не было, вы можете проверить запрос, отправленный после curl_exec, чтобы вы могли дважды проверить, что все отправленное на месте:

 print_r(curl_getinfo($ch)); 

Изменить: после комментариев это то, что вы ищете, чего не хватает:

Вам нужно установить параметр CURLOPT_HTTPAUTH .

Цитата из php.net по теме :

Используемые методы HTTP-проверки подлинности. Возможны следующие варианты: CURLAUTH_BASIC, CURLAUTH_DIGEST, CURLAUTH_GSSNEGOTIATE, CURLAUTH_NTLM, CURLAUTH_ANY и CURLAUTH_ANYSAFE.

Побитовое | (или) можно использовать для объединения нескольких методов. Если это будет сделано, cURL опросит сервер, чтобы узнать, какие методы он поддерживает, и выберите лучший.

CURLAUTH_ANY – псевдоним для CURLAUTH_BASIC | CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM.

CURLAUTH_ANYSAFE является псевдонимом для CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM.