javascript - JavaScript 应用程序拒绝向 Rust Rocket 服务器发出错误连接请求

标签 javascript rust rust-rocket

我的机器上有一个 Rust 服务器在本地主机上运行,​​端口:4200。我正在尝试使用使用 axios 库的 JavaScript 客户端向该服务器发出请求。

代码运行时出现以下错误:

Error: connect ECONNREFUSED 127.0.0.1:4200 at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1191:14)

我尝试重写代码以使用获取库。这也会返回连接拒绝错误。

当从 Postman 尝试时,API 可以按要求工作。 Get 调用也可以在浏览器中进行。无法找出从 JavaScript 调用时此调用的连接被拒绝的原因。

我已在 Rust 服务器中启用了 CORS 选项。

fn main() {
    let options = rocket_cors::Cors::default();

    rocket::ignite()
        .mount("/", routes![index, sign, generate])
        .attach(options)
        .launch();
}

编辑:

从我的机器运行时出现上述错误的客户端代码:

const fetch = require("node-fetch");

var requestOptions = {
  method: "GET",
  headers: { "Content-Type": "application/json" }
};

fetch("http://localhost:4200/createOffer/1/license", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log("error", error));

在我的机器上运行的浏览器请求: http://localhost:4200/createOffer/1/license

最佳答案

尝试点击http://[::1]而不是http://localhost

我最近尝试在 Rocket 上进行性能测试时遇到了类似的问题。从 v0.4.2 开始,Rocket 似乎无法正确响应 ipv4 和 ipv6 请求。

https://github.com/SergioBenitez/Rocket/issues/541 https://github.com/SergioBenitez/Rocket/issues/209

示例:

const fetch = require("node-fetch");

var requestOptions = {
  method: "GET",
  headers: { "Content-Type": "application/json" }
};

fetch("http://[::1]:4200/createOffer/1/license", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log("error", error));

关于javascript - JavaScript 应用程序拒绝向 Rust Rocket 服务器发出错误连接请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59539742/

相关文章:

javascript - 我可以使用客户端 Javascript 执行 DNS 查找(主机名到 IP 地址)吗?

javascript - 如何在 Angular 翻译中传递参数

rust - 与(表面上)似乎完全安全的短暂生命周期值相混淆

database - 如何在生产环境中使用 Rocket 运行 Diesel 迁移?

rust - 我可以在 Rocket 中使用 async fn 作为处理程序吗?

javascript - 是否有任何跨浏览器兼容的方法可以将 Web URL 保存到用户桌面?

javascript - CSS Div 滚动高度

rust - 特性未实现(实现特性的事物)

function - 如何使用关联常量来定义数组的长度?

rust - 受管状态的静态生存期要求