Я должен получить доступ к странице, изменить некоторые атрибуты HTML и нажать кнопку, которая будет загружать некоторую информацию на той же странице, используя Ajax. Именно эта информация мне и нужна.
Страница разработана с использованием JBoss Seam. Я разработал функциональную часть, пока, используя PHP, очень просто. Получите доступ к странице с помощью cURL и измените нужные мне атрибуты с помощью str_replace. Проблема возникает, когда я нажимаю кнопку (я использовал JavaScript, чтобы сделать это автоматически).
Появляется панель загрузки и не загружается нужная мне страница. Я предполагаю, что это происходит потому, что страница использует относительные пути, поэтому мне нужно принудительно использовать абсолютные пути.
Понятия не имею, возможно ли это, есть предложения?
curl_setopt ($ ch, CURLOPT_HEADER, 1) ответ:
HTTP/1.1 200 OK
X-HP-CAM-COLOR: V=1;ServerAddr=5LcuYUpSCJe0keUBJq9sjA==;GUID=1|tGvZttVTP0rE09XPf0AyqcstOBnyewuFj5UrH1EKShAjGrqwynrTf41HD-pP3EVG_lkJ8JPGgUPEitc9_zstuw..|L3BqZS9Db25zdWx0YVB1YmxpY2EvKg..
X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1
X-UA-Compatible: IE=EmulateIE8
Set-Cookie: JSESSIONID=8F050ED568E3E1495DBF10978E895E26.node62_consulta_publica; Path=/pje
X-Powered-By: JSF/1.2
Content-Type: text/html;charset=ISO-8859-1 Date: Tue, 08 Nov 2016 15:47:22 GMT
Set-Cookie: f5avrbbbbbbbbbbbbbbbb=IMFAAFDDEABJMNFDIAOHKJKOPBHMHKGOINOKAJIFMJKDGMMKJICNMLPIANDANJEDIDJLLPEBLGCHEIKMCPJHJKCKGHMOCCMLFIGFBOLKHIONEKLNLPJHLIPOGFMDPBEI; HttpOnly
Set-Cookie: TS01d4e219=01e3b5f72ca6aa469cc19cca6cbe9baa6705d7214593d8ba6356d22fa8425d7f521abe686ebbc0dfb1accba07f2615d285674b26e5; Path=/
Set-Cookie: TS019acc05=01e3b5f72c66ce178a7059407557c1ea1470969edca9ba6110f21b87a568d14449ff1476038f0cded766bb45c0c4691ed14397c24a; path=/pje
Surrogate-Control: content="ESI/1.0",no-store
Vary: Accept-Encoding, User-Agent
Transfer-Encoding: chunked
Обратите внимание, как путь относителен: «Path = / pje».
Вот что я сделал:
<?php
$url = "http://www.exemple.com/folder/view.seam";
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
$content = curl_exec($ch);
curl_close($ch);
$content = iconv("ISO-8859-1", "UTF-8", $content);
$content = str_replace("/folder/", "http://www.exemple.com/folder/", $content);
echo $content;
?>
<script>
document.getElementById("someElementId").click();
</script>
Задача ещё не решена.
Других решений пока нет …