加载页面以获取cookie并同时读取源代码


Load a page to get cookie and read source code at the same time

我正在寻找3天的答案,但我找不到,因为我总是找到一些障碍。

我需要加载一个网页(这样做的原因是接受cookie),然后同时读取新页面的源代码而不再次点击它。原因是页面是动态的,因此内容会发生变化。
我尝试使用 iFrame( document.body.innerHTML ) 来做到这一点,但事实上这些页面在不同的服务器上运行,我遇到了跨站点脚本问题。
我也尝试使用get_contents编写 php 脚本,但这不允许将 cookie 存储在我的本地。

这让我发疯了。任何建议都会很糟糕!为此需要使用PHP或Javascript,任何其他建议也将很有用。

当你在页面上时,document.body.innerHTML会给你页面源代码。

编辑:我没有意识到你正在这样加载它。看到这个SO问题。

它可以在 PHP 中使用 cURL 来完成。

粗略的实现:

$ch = curl_init('http://www.google.com/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
$data = curl_exec($ch);
preg_match('/^Set-Cookie: (.*?);/m', $data, $cookies);
var_dump($cookies);
var_dump($data);

$data将包含整个响应,因此我们需要自己解析出 cookie 标头。

如果您的系统上可用,HttpRequest 将使这更容易。