CURL (PHP) и перенаправление после POST - PullRequest
0 голосов
/ 28 января 2019

Я использую CURL и PHP для зеркалирования удаленного веб-сайта, и он работает нормально, но когда я пытаюсь сделать POST-запрос с параметрами, после того, как CURL получил ответ от удаленного сервера с новым заголовком «Location:», он не отправляется в браузер пользователя.(Я вижу это только в заголовках curl).

Мне нужно перенаправить пользователя на новое место после запроса POST к удаленному сайту.Это местоположение получено в ответе заголовка удаленного сервера, но не предоставлено браузеру конечного пользователя.

Пожалуйста, помогите мне найти решение.Я проверил много результатов поисковой системы без удачи.Я только нахожу некоторые советы для curl командной строки, но не для PHP.

Спасибо!

curl_setopt_array($curl,$x=array(
    //CURLOPT_HEADER=>1,
    CURLINFO_HEADER_OUT=>1,
    CURLOPT_RETURNTRANSFER=>1,
    CURLOPT_FOLLOWLOCATION=>true,
    CURLOPT_MAXREDIRS=>7,
    CURLOPT_AUTOREFERER=>true,
    CURLOPT_PROXY=>$proxy,
    CURLOPT_PROXYTYPE=>7,
    //CURLOPT_COOKIESESSION=>false,
    CURLOPT_COOKIEFILE=>$_SESSION['cookie_4'],
    CURLOPT_COOKIEJAR=>$_SESSION['cookie_4'],
    CURLOPT_REFERER=>$referer,
    CURLOPT_ENCODING=>"gzip",
    CURLOPT_HTTPHEADER=>array(
        "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
        "Accept-Language: en-US,en;q=0.5",
        "Accept-Encoding: gzip, deflate",
        "Cache-Control: no-cache",
        "Connection: keep-alive",
        "Pragma: no-cache",
        "Upgrade-Insecure-Requests: 1",

    ),
    CURLOPT_USERAGENT=>/*isset($_SERVER['HTTP_USER_AGENT']) ? (string)$_SERVER['HTTP_USER_AGENT'] : */'Mozilla/5.0 (Windows NT 6.1; rv:52.0) Gecko/20100101 Firefox/52.0',
));

1 Ответ

0 голосов
/ 28 января 2019

просто пройти через заголовки, полученные curl в браузер?

curl_setopt($curl,CURLOPT_HEADERFUNCTION,function($ch,$header){
    header($header);
    return strlen($header);
});
...