有一个使用 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 上有没有同行遇到了类似现象,泪目了~
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.