Параметры Curl Drops - PullRequest
       1

Параметры Curl Drops

0 голосов
/ 16 октября 2018

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

Код успешно выполняется как в браузере, так и в командной строке.Тем не менее, я получаю только основной файл.При добавлении параметров они не учитываются при выводе.

Код: STACK: Ubuntu, Nginx, PHP-FPM 7.2

$urlcontent = 'https://XXX.YYY.COM/file/?var1=value1' ;
// Create a new cURL resource
$curl = curl_init();

if (!$curl) {
        die("Couldn't initialize a cURL handle");
}

// Set the file URL to fetch through cURL
curl_setopt($curl, CURLOPT_URL, $urlcontent);

// Set a different user agent string (Googlebot)
curl_setopt($curl, CURLOPT_USERAGENT, 'CodiBot/2.1');

// Follow redirects, if any
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);

// Fail the cURL request if response code = 400 (like 404 errors)
curl_setopt($curl, CURLOPT_FAILONERROR, true);

// Return the actual result of the curl result instead of success code
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

// Wait for 10 seconds to connect, set 0 to wait indefinitely
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);

// Execute the cURL request for a maximum of 50 seconds
curl_setopt($curl, CURLOPT_TIMEOUT, 50);

// Do not check the SSL certificates
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

// Fetch the URL and save the content in $html variable
$html = curl_exec($curl);

// Check if any error has occurred
if (curl_errno($curl))
{
        echo 'cURL error: ' . curl_error($curl);
}
else
{
        // cURL executed successfully
        print_r(curl_getinfo($curl));
        print_r($html);

}
curl_close($curl);

ПРОБЛЕМА

Я получаю содержимое для https://XXX.YYY.COM/file, но не соответствующее ?var1=value1часть.Другими словами, когда я передаю информацию для извлечения в БД, я получаю только html основного файла.

Я попытался:

curl_setopt($ch, CURLOPT_POSTFIELDS, 'foo=1&bar=2&baz=3'); 

Я знаю, что на удаленном сервере может быть включен CORS, но я попытался использовать тот же URL-адрес с помощью удаленного извлечения curl, и это удалось.ТАК, это может быть не удаленный сервер

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...