0

通过javascript重定向该页面后,如何获取整个页面内容?

executewebpage.php 中

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setOpt($ch, CURLOPT_POST, TRUE);
$url = 'http://www.doredirect.com';
$postfields = array('doredirect'=>'true','trigger'=>'1');
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
curl_setopt($ch, CURLOPT_URL, $url);
$data = curl_exec($ch);

echo($data);  //In this step, it redirect to page: http://www.finalpage.com

curl_close($ch);

如何获取http://www.finalpage.com的内容?

注意:如果我不回显,它不会返回任何内容,也不会重定向到任何页面

非常感谢!

4

3 回答 3

5

尝试使用它来查看 curl 响应的 HTML:

echo htmlspecialchars($data);

某处可能存在 javascript 或元重定向。寻找这个:

window.location...

或者

document.location...

或者

<meta http-equiv="refresh" content="0;url=http://finalpage.com" />

从那里,您可以构建一个正则表达式(正如其他人所建议的那样)来查找 URL,然后获取它的内容。

于 2012-09-28T04:26:11.740 回答
1

浏览返回的 html 并找出重定向在代码中的位置。将数据放入变量中,使用正则表达式对其进行处理,获取重定向到的 url,并使用新的 curl 请求获取新的页面内容。

于 2012-09-28T04:19:15.697 回答
-1

我发现了如何做到这一点!

我检测到http://www.finalpage.com在显示内容之前重新提交了它。所以我用这个http://www.mishainthecloud.com/2009/12/screen-scraping-aspnet-application-in.html来卷曲它,我得到了我想要的任何东西。谢谢大家!

于 2012-10-19T01:12:44.847 回答