如何检测php的curl查询

问题描述 投票:0回答:1

我目前面临使用 cURL 发出的 PHP 请求的问题。当我使用 cURL 向此 URL 发送请求时:https://lmt.fn.sportradar.com/common/fr/Etc:UTC/gismo/match_info/43067423,我收到 403(禁止)响应,而当我使用 Postman 发送相同的请求,收到 200(OK)响应。我已经仔细检查了两种情况下的请求参数是否相同,但我不明白为什么我得到不同的响应。

有谁知道什么可能导致 cURL 和 Postman 之间的行为差异?这两个工具发送可以解释此问题的请求的方式是否存在显着差异?

以下是通过 PHP cURL 获得的标头: 远程 IP: [ip] 接受:/ 用户代理:PostmanRuntime/7.29.2 X-Ovhrequest-Id:[id] X-Forwarded-Proto:https X-转发-For: [ip] X-预测器:1 主持人:[myhost.com]

这是通过 Postman 获得的标头: 用户代理:PostmanRuntime/7.29.2 接受:/ 邮递员令牌:c61cd895-cb03-458b-8309-849e91f6b6d6 主机:本地主机:8888 接受编码:gzip、deflate、br 连接:保持活动状态

任何帮助或建议将不胜感激。预先感谢!

php curl
1个回答
0
投票

此站点正在执行用户代理检查并明确拒绝无法识别的代理。这可能会阻止您尝试做的事情。但这是控制访问的一种非常无效的方法,并且可以轻松解决。只需让curl 通过指定(例如)Chrome 的用户代理字符串来模拟浏览器:

curl -A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36' 'https://lmt.fn.sportradar.com/common/fr/Etc:UTC/gismo/match_info/43067423'
© www.soinside.com 2019 - 2024. All rights reserved.