Как перенаправить страницу после автоматического входа в систему с сохранением Curl?

У меня проблема: после автоматического входа в систему с помощью Curl PHP сайт не загружает CSS-файлы и изображения.
Моим решением было бы написать сеанс входа и перенаправить страницу.

Код:

<?php
$cookie="cookie.txt";
$login_url = "https://online.hinode.com.br/loja_valida.asp";
$target_url="https://online.hinode.com.br/detalhes.asp?IdProduto=1294&ssp=1044632862SSP20171218HP180256";
$useragent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1";

$field['loja_consultor'] = '228621';
$field['estado'] = 'SP';
$field['acessar'] = 'Acessar';

$datafield = http_build_query($field);

$ch = curl_init($login_url);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt($ch, CURLOPT_URL, $login_url);
curl_setopt ($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $datafield);
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_exec($ch);

curl_setopt($ch, CURLOPT_URL, $target_url);

$ket_qua = curl_exec($ch);$ph = header ("location:42018010322060614551.htm", curl_exec($ch));

echo $ph;curl_close($ch);
?>

Заранее спасибо.

0

Решение

Добавление base тег может решить большинство ваших проблем: CSS и изображения.

Попробуйте следующий код:

<?php
$cookie="cookie.txt";
$login_url = "https://online.hinode.com.br/loja_valida.asp";
$target_url="https://online.hinode.com.br/detalhes.asp?IdProduto=1294&ssp=1044632862SSP20171218HP180256";
$useragent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1";

$field['loja_consultor'] = '228621';
$field['estado'] = 'SP';
$field['acessar'] = 'Acessar';

$datafield = http_build_query($field);

$ch = curl_init($login_url);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt($ch, CURLOPT_URL, $login_url);
curl_setopt ($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $datafield);
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_exec($ch);

curl_setopt($ch, CURLOPT_URL, $target_url);
$ket_qua = curl_exec($ch);

//add base URL
$baseUrlStr = '<head><base href="https://online.hinode.com.br/">';
$ket_qua=str_replace('<head>',$baseUrlStr,$ket_qua);

echo $ket_qua;
curl_close($ch);
?>
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector