PHP / cURL代码不允许我选择我想要的链接

时间:2014-04-30 22:49:10

标签: php curl

问题是,点击时标题为“ Alistar - 你可以挤奶那些?”的指南给我一个错误。

但如果我点击页面上的任何其他内容,它的效果非常好。有没有办法,使用cURL点击该链接? #

编辑:删除内容以避免抄袭风险。

1 个答案:

答案 0 :(得分:2)

它不起作用的简单原因是页面上的所有其他链接都是绝对URL,但您询问的链接是相对URL。

这意味着工作的链接开始于域名http://www.solomid.net/ ...而不起作用的链接只是以/开头,这意味着网络浏览器只使用来自的域名请求页面。

由于您正在获取页面内容并将其显示在其他域中,因此该链接不起作用。

接下来的问题是如何让它发挥作用?

第一步是修复代码中的“错误”。行curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);应该有1true作为第三个参数而不是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内容,并且所有链接都应该有效。