我在我的NodeJS服务器(节点9.3.0)中有这个,我得到了ECONNREFUSED
。
request({
method: 'POST',
url: 'http://127.0.0.1:3050/v1/clinician'
}, (err, httpResponse, body) => {
console.log('CONNECT ERROR', err)
})
在导轨方面,我正在使用rails s -p 3050
运行应用程序。
如果我从node
CLI运行相同的命令,那么我会收到回复。我也得到了这个样本CURL的响应
curl -X POST http://localhost:3050/v1/clinician \
-H "Content-Type: application/json" \
-d '{"clinician": { "access_token": "test"} }'
我也尝试使用npm http
库,并得到同样的错误。
const httpRequest = http.request({
hostname: '127.0.0.1', // or localhost
port: 3050,
path: '/v1/clinician',
method: 'POST',
headers: {
'Content-Type': 'application/json'
}
}, (response) => {
console.log(`STATUS: ${response.statusCode}`)
}).on('error', (e) => {
console.log(`problem with request: ${e.message}`)
})
鉴于它在CLI和cURL中工作,我假设它与NodeJS应用程序本身作为请求的来源有关。
答案 0 :(得分:0)
问题在于我需要首先将我的rails应用程序停靠,以便它与节点应用程序位于同一主机(在docker VM中)。然后,我需要使用http://<container_name>:3050
而不是http://localhost:3050
来发出请求。