#php #curl #centos8
#php #curl #centos8
Вопрос:
Я пытаюсь выполнить запрос curl через PHP. Когда я делаю этот запрос непосредственно в серверной оболочке.
curl http://www.google.com
Мой PHP-код приведен ниже,
<?php
echo "The time is " . date("h:i:sa") . "</br>";
$url = "http://www.google.com";
$handle = curl_init();
// Set the url
curl_setopt($handle, CURLOPT_URL, $url);
// Set the result output to be a string.
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($handle);
print_r(curl_getinfo($handle));
echo "</br>";
echo curl_errno($handle);
echo "</br>";
if(curl_errno($handle)){
echo 'Curl error: ' . curl_error($handle);
}
curl_close($handle);
echo "</br> fin";
?>
Когда я загружаю страницу, я получаю следующее:
Array ( [url] => http://www.google.com/ [content_type] => [http_code] => 0 [header_size] => 0 [request_size] => 0 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 0.029675 [namelookup_time] => 0.038741 [connect_time] => 0 [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 [redirect_url] => [primary_ip] => [certinfo] => Array ( ) [primary_port] => 0 [local_ip] => [local_port] => 0 [http_version] => 0 [protocol] => 0 [ssl_verifyresult] => 0 [scheme] => [appconnect_time_us] => 0 [connect_time_us] => 0 [namelookup_time_us] => 38741 [pretransfer_time_us] => 0 [redirect_time_us] => 0 [starttransfer_time_us] => 0 [total_time_us] => 29675 )
7
Curl error:
fin
Я не уверен, что я делаю неправильно, поскольку я не получаю правильную загрузку того, что я ожидал бы от команды curl (ожидал бы получить загрузку HTML со страницы?). Я тестировал это с помощью API, но упростил его, чтобы попытаться диагностировать.
РЕДАКТИРОВАТЬ: исправлен код и объяснена проблема.
Спасибо
Комментарии:
1. Что не так с тем, что вы делаете? Вам нужно задать свой вопрос более четко.
2. Почему у вас curl_init дважды?