Проблема с гиперссылкой в ​​PHP cURL - PullRequest
0 голосов
/ 07 сентября 2018

Я написал некоторый простой код, который должен разрешить получение заданной веб-страницы, в данном случае Google.

<?php



$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.google.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);

curl_exec($ch);
curl_close($ch);

?>

Хотя это работает, я заметил, что когда я щелкаю по некоторым гиперссылкам, например по гиперссылке «Конфиденциальность», меня перенаправляют на http://mywebsite.com/intl/en/policies/privacy/, который, очевидно, не существует. Почему это происходит? И можно ли перенаправить на правильную ссылку?

1 Ответ

0 голосов
/ 07 сентября 2018
<?php

function cURL() {

    // 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, "http://ctrlq.org/");

    // Set a different user agent string (Googlebot)
    curl_setopt($curl, CURLOPT_USERAGENT, 'Googlebot/2.1 (+http://www.google.com/bot.html)'); 

    // 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)); 
    }

    // close cURL resource to free up system resources
    curl_close($curl);
}

?>

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