最近遇到一个站的页面无法通过 curl 获取内容

275 天前
 whereFly

好像是有同源策略限制,不怎么懂。 直接打开目标页面正常显示,通过 curl 获取的却是例外的内容,无解了吗?

2112 次点击
所在节点    PHP
19 条回复
tool2d
275 天前
同源策略是针对浏览器的,而 curl 是纯客户端,并不存在这个限制,应该是别的什么原因。

把地址贴出来看看呗。
Routeros
275 天前
盲猜 User-Agent
tubinorg
275 天前
还有可能是重定向
NessajCN
275 天前
你看浏览器请求头是啥,复制一份一样的进 curl -H 里再试试
doublespout
275 天前
有一次性的 token 这种令牌的限制? ajax 接口还是页面?
tool2d
275 天前
@tubinorg 还有可能是 nonce ,防止重返攻击的。

浏览器访问过一次,参数失效,curl 客户端就不能访问了。除非把浏览器这个请求给拦截下来不发送。
1018ji
275 天前
你为啥不贴出来,又不犯法
abccccabc
275 天前
会不会是套了一层 cf 的网站呢?
yuzo555
275 天前
curl 的默认 User-Agent 是 curl/版本号,特别容易识别并屏蔽。
w4ngzhen
275 天前
在浏览器上,网络请求中,针对请求,右键 —— 复制 —— “以 cURL 格式复制”,再在 curl 中试下。
j869716
275 天前
学会使用 `-vvv`
err1y
275 天前
ua 或者 ja3
fenglangjuxu
275 天前
现在好多都是渲染出来的 curl 抓取早都过时了
yolee599
275 天前
Firefox:
浏览器打开 -> 按 F12 -> 选择“网络” -> 刷新 -> 选中一个请求 -> 右键 -> 复制值 -> 复制为 cURL 命令 -> 终端粘贴测试
yanw
275 天前
1. 针对 agent ip 被 block 了
2. 页面是 js 渲染的
AJ1if4
275 天前
gamexg
275 天前
@yolee599 #14 楼主, chrome 也支持这个功能
iminto
275 天前
这不很正常吗。

UA 不一样,curl 也无法渲染页面。。

还有终极杀器,指纹不一样
ColoThor
275 天前
需要 js 渲染,没浏览器环境就不行了

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

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

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

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

© 2021 V2EX