You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Groovy调用URL返回403状态码问题求助

解决Groovy脚本请求网页返回403的问题

问题原因

服务器返回403通常是因为它识别出你的请求并非来自标准浏览器,通过检查请求头(如User-Agent字段)拦截了非浏览器发起的请求。浏览器访问时会自动带上完整的请求头信息,而你的Groovy最简实现没有添加这些必要的头。

解决方案

在请求中添加模拟浏览器的请求头,尤其是User-Agent字段,以下是修改后的代码:

def url = new URL("https://measurements.mobile-alerts.eu/Home/MeasurementDetails?deviceid=021B5594EAB5&vendorid=60122a8b-b343-49cb-918b-ad2cdd6dff16&appbundle=eu.mobile_alerts.mobilealerts&fromepoch=1674432000&toepoch=1674518400&from=23.01.2023%2000:00&to=24.01.2023%2000:00&command=refresh")

def connection = url.openConnection() as HttpURLConnection
// 模拟Chrome浏览器的User-Agent
connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36")
// 添加浏览器默认的Accept头
connection.setRequestProperty("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8")

try {
    def res = connection.inputStream.getText()
    println(res)
} finally {
    connection.disconnect()
}

额外排查点

  • 如果添加User-Agent后仍返回403,可以打开浏览器开发者工具(F12),在请求的「Headers」标签页复制完整的请求头(包括Referer、Cookie等),全部添加到Groovy请求中
  • 若服务器需要会话验证,可能需要先模拟登录流程获取有效Cookie,再携带Cookie发起读数请求

内容的提问来源于stack exchange,提问作者Frank Winkler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 20:25:46