PHP 调用 curl 的一个坑

2017-01-25 23:03:11

今天在写 dayone2 输出 html 的时候,其中有一个 function 需要用 curl 访问自己。怎么说呢?就是在 d.com 中的执行 curl 去爬 d.com 的内容。

这个需求看起来有点奇怪对吧?但是如果不这样做的话,我就无法得到 Laravel blade 渲染出来的 DOM。但,为什么要触发 blade 渲染呢?

其实触发 blade 渲染有一个好处,就是能够 1:1 还原其 DOM,可以很方便的利用 blade 的内置方法。比如说 render() 这种分页功能,可以很大程度减少自己动手写分页的过程。

不过坑点就在这里,d.com 并不能 curl d.com,一旦执行抓取自己就会陷入死循环,直到 timeout,出现 502 Bad Gateway。

所以,最后还得换一个思路去生成静态 HTML。

- EOF -