问题是,点击时标题为“ Alistar - 你可以挤奶那些?”的指南给我一个错误。
但如果我点击页面上的任何其他内容,它的效果非常好。有没有办法,使用cURL点击该链接? #
编辑:删除内容以避免抄袭风险。
答案 0 :(得分:2)
它不起作用的简单原因是页面上的所有其他链接都是绝对URL,但您询问的链接是相对URL。
这意味着工作的链接开始于域名http://www.solomid.net/ ...而不起作用的链接只是以/开头,这意味着网络浏览器只使用来自的域名请求页面。
由于您正在获取页面内容并将其显示在其他域中,因此该链接不起作用。
接下来的问题是如何让它发挥作用?
第一步是修复代码中的“错误”。行curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
应该有1
或true
作为第三个参数而不是0
,因为它现在的工作方式是curl_exec($ch)
正在返回{{1}并且页面内容将直接输出到浏览器。
通过设置true
,您将从curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
返回并存储在curl_exec
然后最简单的解决方法是添加以下行:
$result
将HTML base tag插入到头部,以便浏览器使用$result = str_replace('<head>', '<head><base href="http://www.solomid.net/">', $result);
而不是浏览器中的域来查找缺少域的网址。然后,当您http://www.solomid.net/
时,您将回显略微修改的HTML内容,并且所有链接都应该有效。