
有一个使用 cloudflare 的 CDN 进行保护的网站,想访问的时候,需要在 cookies 中附带session和__cf_bm数据。
之前使用 Python requests ,设置如下,可以正常抓取数据。
cookie = { 'session': SESSION, '__cf_bm': CF_BM } respOnse= requests.post(url, cookies=cookie) 最近想使用 golang 重写,代码如下,结果发现页面反馈Please enable cookies,直接被 cloudflare 拦截,无法正常访问。
cookie := cookies{ session: session, __cf_bm: CF_BM, } req.Header.Add("Cookie", "session="+cookie.session+"; theme="+cookie.theme+"; __cf_bm="+cookie.__cf_bm) { "cookies": { "__cf_bm": "ehOUuRclb1sJgFygWWcSli", "session": "7586800e10" } } 只能猜测 clouflare 对 golang 进行了额外的限制,学艺不精者使用 golang 访问就会失败。
想问问 V2 上有没有同行遇到了类似现象,泪目了~
1 abersheeran 2023 年 7 月 4 日 这不是老问题了吗。golang 标准库的 TLS 握手有特征,cloudflare 针对这个做了屏蔽。 |
2 cmos OP @abersheeran 1# 感谢!原来此!我 golang 纯新手,还不知道这个,再次感谢! |
3 abersheeran 2023 年 7 月 4 日 @imes 不客气。 |
4 Dreax 2023 年 7 月 4 日 |