CF 的防抓取怎么这么厉害,这个 wp 的静态资源怎么都没法抓?

2018-06-07 15:01:00 +08:00
 alwayshere

https://www.anthonyboyd.graphics/wp-content/uploads/2018/06/Matte-Black-Bottle-Mockup.zip

尝试写爬虫练练手,找了个套了 CF 的无名小站,抓取它的静态地址时,用 chrome 和 Firefox 都能下载,用 php 咋都下载不下来,CF 直接给我 404,然后我把 Firefox 的 header 全复制下来,还是 404:

file_get_contents('https://www.anthonyboyd.graphics/wp-content/uploads/2018/06/Matte-Black-Bottle-Mockup.zip',false,stream_context_create(array(
            'http'=>array(
                'method'=>'GET',
                'header'=>"Accept:text/html,application/xhtml+xm … plication/xml;q=0.9,*/*;q=0. \r\n".
                "Accept-Language:zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 \r\n".
                "Host:www.anthonyboyd.graphics \r\n".
                "Upgrade-Insecure-Requests:1 \r\n".
                "User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0"
            )
        )));

遂用 cURL,还是不行,CF 直接给我 404,这到底是怎么回事? CF 辨别机器人这么强悍?

1920 次点击
所在节点    程序员
6 条回复
lvsemi1
2018-06-07 17:46:06 +08:00
asdqwe876
2018-06-07 17:56:36 +08:00
楼主基础不行啊
Mazi
2018-06-07 18:21:07 +08:00
几个问题。
1、Accept 复制不全,中间省略了一段你没发现?
2、关键的 Accept-Encoding 你没复制,现代浏览器都有这个东西,尤其你 UA 都说自己是火狐了,你却缺少了这个,很明显你不是真实用户。
3、 加上 referer 字段,我刚测试了一下,没有 referer 返回 403,加上就 200 了。

我写了个 test.php 给你参考。注意:这个链接最多下载 20 次(我已经下载了 1 次),24 小时 后过期。

https://send.firefox.com/download/41f974a28a/#6o_Hfew3xBbF2NARCNhNCA
jimages
2018-06-07 18:27:12 +08:00
已经占用一次下载
t123yh
2018-06-07 18:31:49 +08:00
将请求 Copy as cURL 了解一下
Menci
2018-06-07 19:15:42 +08:00
占用了一次下载

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/461204

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX