JavaScript 应用程序对 rust rust rocket 服务器的错误连接请求被拒绝
Request to rust rocket server getting error connection refused from JavaScript app
我在本地主机 port:4200 的机器上有一个 Rust 服务器 运行ning。我正在尝试使用使用 axios 库的 JavaScript 客户端向该服务器发出请求。
运行时的代码报错如下:
Error: connect ECONNREFUSED 127.0.0.1:4200
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1191:14)
我尝试重写代码以使用 fetch 库。这也返回连接被拒绝的错误。
从 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] instead of 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));
我在本地主机 port:4200 的机器上有一个 Rust 服务器 运行ning。我正在尝试使用使用 axios 库的 JavaScript 客户端向该服务器发出请求。
运行时的代码报错如下:
Error: connect ECONNREFUSED 127.0.0.1:4200 at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1191:14)
我尝试重写代码以使用 fetch 库。这也返回连接被拒绝的错误。
从 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] instead of 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));