Сообщение «Вы перенаправлены» при использовании CURL в PHP - PullRequest
0 голосов
/ 29 мая 2018

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

Вы перенаправлены.// //

Тогда он перейдет на соответствующую страницу.Как мне позвонить на новую страницу и не получить это сообщение?Вот мой код до сих пор.

    <?php

    require_once 'libs/Mobile_Detect.php';
    $detect = new Mobile_Detect;

    if ($detect->isMobile() )
        { 
        $url = $_GET["link2"];
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        $result = curl_exec($ch);
        curl_close($ch);

    }
    else{
        // "desktop";
        ?> <h1><?php echo $_GET["title"]; ?></h1>
        <iframe src='<?php echo $_GET["link"]; ?>' frameborder="1" 
             width="1311px" height="800px"></iframe>
      <?php
    }
    ?>

1 Ответ

0 голосов
/ 19 декабря 2018

Первое, что нужно попробовать - это curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);, что соответствует параметру командной строки curl -L.

Версии cURL до 7.19.4, которые были включены в старые, более не поддерживаемые версии PHP., неправильно проверяйте перенаправление с HTTP или HTTPS URI на локальный файл.Это можно использовать, чтобы обойти ограничения open_basedir, как Марио указал в другой ответ .Таким образом, для этих версий cURL, если задано safe_mode или open_basedir, PHP вызывает ошибку, если программа пытается включить CURLOPT_FOLLOWLOCATION.Это было исправлено в PHP 5.5.3 , и исправление остается во всех поддерживаемых версиях PHP.

Если включение CURLOPT_FOLLOWLOCATION не разрешает перенаправление, сайт может не использовать 301/ 302 перенаправление вообще, но вместо этого используйте перенаправление JavaScript или отсутствие перенаправления в качестве средства предотвращения злоупотреблений со стороны автоматизированных процессов.При этом сайт ожидает, что пользователь перейдет по ссылке через ручную навигацию (щелчок мышью, касание сенсорным экраном или вкладка и нажатие клавиши Enter).Для этого вам нужно будет проанализировать HTML, чтобы прочитать цель ссылки.Сначала загрузите HTML-код в DOMDocument, а затем найдите <a> элементы с многообещающим атрибутом href.

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