2

我已经使用 nodejs 在我的机器上设置了一个本地服务器。像这样的东西:

var fs = require("fs");
var config = JSON.parse(fs.readFileSync("config.json"));
var host = config.host;
var port = config.port;
var express = require("express");

var app = express();
app.get("/",function(request,response){
    response.send('thanks for visiting my  site');
});
app.listen(port, host);

现在,如果我向这个服务器发送一个 http 请求,我会得到 502 服务不可用响应。

HttpRequest req = new HttpRequest();
 req.setEndpoint('http://localhost:4555/');
 req.setMethod('GET');
 Http http = new Http();
 HTTPResponse res = http.send(req);

我还在远程站点设置中添加了 localhost url,但我仍然无法拨打任何电话。知道该怎么做吗?

4

1 回答 1

3

localhost 是一个相对地址,它解析的机器取决于它使用的位置,因此当您在 apex 代码(在 salesforce 服务器上运行)中使用 localhost 时,它会尝试与自己对话,而不是与您的 nodejs 主机对话。您需要为您的主机提供一个可公开解析的名称或 IP 地址,并在您的顶点代码中使用它。

于 2013-06-19T15:32:12.747 回答