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

Unity编辑器中UnityWebRequest调用本地Rust Rocket服务器GET接口失败,其他工具及HttpClient可正常请求

Unity Editor下UnityWebRequest无法连接localhost服务器的问题解决

我最近在开发Unity客户端时遇到了一个特别头疼的问题:尝试用UnityWebRequest向http://localhost:8000/api/board发起GET请求,在浏览器、Postman、Unity编辑器里的.NET HttpClient,甚至WebGL构建后的网页(服务器已配置CORS)都能正常工作,但偏偏在Unity编辑器模式下用UnityWebRequest就失败,报错是Cannot connect to destination host。因为WebGL构建耗时很长,这个问题严重拖慢了我的调试效率。

我已经排查过这些点:

  • 关闭了Windows防火墙,排除了网络拦截问题
  • 在编辑器里用UnityWebRequest请求其他公共接口(比如https://httpbin.org/get)完全正常,说明不是UnityWebRequest本身的全局问题

可正常运行的HttpClient代码:

HttpClient client = new HttpClient();
System.Uri uri = new System.Uri("http://localhost:8000/api/board");
string responseBody = await client.GetStringAsync(uri);

失败的UnityWebRequest代码:

System.Uri uri = new System.Uri("http://localhost:8000/api/board");
UnityWebRequest www = UnityWebRequest.Get(uri);
UnityWebRequestAsyncOperation operation = www.SendWebRequest();
while (!operation.isDone) await Task.Yield();
if (www.result != UnityWebRequest.Result.Success) {
    // 错误处理逻辑
}

问题根源与解决方法

最后排查发现,问题出在我用Rust Rocket框架搭建的后端服务器上!服务器默认配置的address = "localhost",当我把它修改为address = "0.0.0.0"之后,Unity编辑器模式下的UnityWebRequest请求立刻就正常工作了。

目前我还没完全搞明白为什么绑定localhost时UnityWebRequest无法访问,而其他工具和HttpClient却可以,但这个修改确实解决了我的问题,分享出来给遇到类似情况的开发者参考。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 06:50:09