Получить окончательный URL-адрес и сохранить его в SQL - PullRequest
1 голос
/ 19 октября 2019

Я хочу получить окончательный URL-адрес каждого перенаправления и сохранить его в таблице базы данных. Я хочу сделать это с помощью поворотной ссылки.

Я пытался использовать curl, но URL-адрес не изменился,Измените зонд, используя $ _SERVER ['REQUEST_URI'] в curl, но я получаю только основной URL, а не окончательный

$redirection_url1= $_SERVER['REQUEST_URI'];


function get_redirect_final_host_url($redirection_url1){
    $ch = curl_init($redirection_url1);
        curl_setopt($ch, CURLOPT_NOBODY, 1);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // follow redirects
        curl_setopt($ch, CURLOPT_AUTOREFERER, 1); // set referer on redirect
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // get access ssl
        curl_exec($ch);
        $target = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
    curl_close($ch);
    $redirection_url = str_ireplace('www.', '', parse_url($target)['host']);
    return $redirection_url;}

Как я могу это сделать, я пытаюсь сделать это в плагине WordPress

Это полный код хранит данные каждого посетителя, но я хочу добавить окончательный URL-адрес

function lcl_add_to_visit_log($camp)
{
    global $wpdb;
    $visit_time=date("Y-m-d H:m:s",time());
    $ip=$_SERVER['REMOTE_ADDR'];
    $redirection_url1= $_SERVER['REQUEST_URI'];


    function get_redirect_final_host_url($redirection_url1){
        $ch = curl_init($redirection_url1);
            curl_setopt($ch, CURLOPT_NOBODY, 1);
            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // follow redirects
            curl_setopt($ch, CURLOPT_AUTOREFERER, 1); // set referer on redirect
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // get access ssl
            curl_exec($ch);
            $target = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
        curl_close($ch);
        $redirection_url = str_ireplace('www.', '', parse_url($target)['host']);
    return $redirection_url;
}

    $SQL="INSERT INTO ".LINK_CLOAKER_STAT_TABLE." (camp_id, visit_time, ip, url_actual) VALUES(".$camp['id'].", '".$visit_time."', '".$ip."','".$redirection_url."')"; 
    $wpdb->query($SQL);
}
...