javascript - Node.js:通过 unix 套接字发送 GET 请求

标签 javascript node.js sockets go unix-socket

我是 node.js 的新手。我正在尝试使用 unix 套接字设置客户端服务器连接,我的客户端请求将在 node.js 中,而在后台运行的服务器将在 go 中。

客户端代码:

    var request = require('request');

    request('http://unix:/tmp/static0.sock:/volumes/list', function (error, response, body) {
        if (!error && response.statusCode == 200) {
            console.log(body)
        } else {
            console.log("In else part of the receiver" + response.statusCode + body)
        }
    }


})

当我尝试与用 go 编写的服务器通信时,它显示 HTTP error: 400 Bad Request: malformed Host header'

同样适用于:

curl -X GET --unix-socket /tmp/static0.sock http://:/volumes/list

不确定我的请求有什么问题。我们需要发送标题吗?我期待 JSON 响应。

最佳答案

要在不使用请求模块的情况下完成此操作,请尝试以下操作:

const http = require('http');

const options = {
  socketPath: '/tmp/static0.sock',
  path: '/volumes/list',
};

const callback = res => {
  console.log(`STATUS: ${res.statusCode}`);
  res.setEncoding('utf8');
  res.on('data', data => console.log(data));
  res.on('error', data => console.error(data));
};

const clientRequest = http.request(options, callback);
clientRequest.end();

关于javascript - Node.js:通过 unix 套接字发送 GET 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41177350/

相关文章:

javascript - AngularJS-ngOptions

javascript - React/react-router 重定向到一组 URL?

javascript - 在 Chrome 扩展中对 popup.html 进行更改并反射(reflect)

主机名的 Python 套接字替换变量

一台服务器中的 Java TCP 和 UDP 回显

java - 如何使用Socket将图片从PC发送到Android?

javascript - 执行长循环

AngularJS 和 ExpressJS : how to read content sent by $http. put()

node.js - Nodejs 是单线程的这一事实究竟意味着什么?

javascript - 如何使用node.js的fs.write函数?