Уважаемые знатоки, подскажите пожалуйста, как вытащить location.href curl запросом.
Ситуация следующая, есть кнопка , при нажатии на кнопку отрабатывает яваскрипт который выдает location.href, этот location.href собственно и нужен. Возможно ли это с помощью curl ?
И еще дополнительный вопрос, как в запросе установить заголовки и куки? я в принципе понимаю как , но возможно я это неправильно делаю.
html страницы Код:
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="javascript" type="text/javascript">
function allow() {
var addr = '';
if (isChecked(ge('allow_notifications'))) {
addr = '¬ify=1';
}
if (isChecked(ge('denied_email'))) {
addr = '&email_denied=1';
}
location.href = "https://vsem_znakomiy_resurs.com" + addr;
return false;
}
</script>
</head>
<body class="VK oauth_page" onload="doResize();">
<button id="install_allow" class="flat_button button_big_width fl_r" onclick="return allow();">Разрешить</button>
</body>
</html>
мой запрос
Код:
$request = Request::factory($url2)
->method(Request::POST);
$request->client()->options(array(
CURLOPT_USERAGENT => $agent,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $query_str,
CURLOPT_AUTOREFERER => TRUE, //для автоматической установки поля Referer: в запросах, перенаправленных заголовком Location:.
CURLOPT_SSL_VERIFYPEER => FALSE,
CURLOPT_HEADER => TRUE, //TRUE для включения заголовков в вывод.
CURLINFO_HEADER_OUT => TRUE, //TRUE для отслеживания строки запроса дескриптора.
CURLOPT_FOLLOWLOCATION => TRUE, //TRUE для следования любому заголовку "Location: ", отправленному сервером в своем ответе
CURLOPT_MAXREDIRS => 5, //Максимальное количество принимаемых редиректов. Используйте этот параметр вместе с параметром CURLOPT_FOLLOWLOCATION
CURLOPT_RETURNTRANSFER => TRUE, //TRUE для возврата результата передачи в качестве строки из curl_exec() вместо прямого вывода в браузер.
CURLOPT_HEADER => TRUE,
CURLINFO_HEADER_OUT => true,
CURLOPT_HTTPHEADER => array("Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3"),
));
$response = $request->execute();
$response_body = $response->body();
$response_headers = $response->headers();
echo Debug::vars($response_headers);
echo Debug::vars($response_body);
//echo Debug::vars($response_headers);
die;