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

在Unity中调用Random.org获取随机数遇403错误,求示例代码

Unity调用Random.org接口获取随机数的问题解决及示例代码

你遇到的403 Forbidden错误,核心原因是Random.org的公开API会校验请求的User-Agent字段——Unity默认的UnityWebRequest使用的User-Agent被服务器识别为非合法客户端,因此被拦截。

以下是修正后的可运行代码,关键是给请求添加合法的User-Agent头:

void Start()
{
    StartCoroutine(FetchRandomNumber());
}

IEnumerator FetchRandomNumber()
{
    // Random.org的整数随机数API地址,参数表示获取1个1-6之间的十进制整数
    string apiEndpoint = "https://www.random.org/integers/?num=1&min=1&max=6&col=1&base=10&format=plain&rnd=new";
    
    using (UnityWebRequest request = UnityWebRequest.Get(apiEndpoint))
    {
        // 设置浏览器风格的User-Agent,避免被服务器拦截
        request.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36");
        
        // 发送请求并等待结果
        yield return request.SendWebRequest();

        // 处理请求结果
        switch (request.result)
        {
            case UnityWebRequest.Result.ConnectionError:
            case UnityWebRequest.Result.DataProcessingError:
                Debug.LogError($"请求失败: {request.error}");
                break;
            case UnityWebRequest.Result.ProtocolError:
                Debug.LogError($"HTTP错误 {request.responseCode}: {request.error}");
                break;
            case UnityWebRequest.Result.Success:
                // 去除返回内容中的换行和空格,确保得到干净的数字
                string randomNum = request.downloadHandler.text.Trim();
                Debug.Log($"获取到随机数: {randomNum}");
                // 可以在这里把字符串转为整数使用
                if (int.TryParse(randomNum, out int result))
                {
                    Debug.Log($"转换为整数: {result}");
                }
                break;
        }
    }
}

额外注意事项:

  • User-Agent可以根据需要调整,只要是服务器认可的合法客户端标识即可,不一定非要用Chrome的;
  • Random.org的免费API有调用限制(每小时最多1000次请求,每日上限更高但仍有限制),如果是高频请求或商业项目,建议使用他们的付费API服务;
  • 要处理返回内容的异常情况,比如服务器返回非数字的提示文本(比如请求超限),避免程序崩溃;
  • 移动端项目需要确保PlayerSettings中已经开启了Internet权限(默认是开启状态,但最好确认)。

内容的提问来源于stack exchange,提问作者a_7md.f

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 06:33:10