gpt4 book ai didi

node.js - 如何使用正文发出 GET 请求

转载 作者:行者123 更新时间:2023-12-03 12:16:34 30 4
gpt4 key购买 nike

Firstly, I understand that there are modules that could be used (https://www.npmjs.com/package/elasticsearch), but I'm looking for a way to solve this with node.js build in modules.

我正在寻找一种方法来使用 http 在 nodejs 中执行以下 curl 请求模块:
来源:https://www.elastic.co/guide/en/elasticsearch/reference/2.4/search-count.html

curl -XGET 'http://localhost:9200/twitter/tweet/_count' -d '
{
"query" : {
"term" : { "user" : "kimchy" }
}
}'

例如,使用请求正文发出请求。


我已尝试按照手册中的说明编写帖子数据:https://nodejs.org/api/http.html#http_http_request_options_callback

req.write(parsedData);

最佳答案

这是一个仅使用 http 模块发出带有正文的 HTTP GET 请求的示例:

var http = require('http');

var options = {
host: 'localhost',
path: '/twitter/tweet/_count',
port: '9200',
method: 'GET',
headers: {'Content-Type': 'application/json'}
};

var callback = function (response) {
var str = '';
response.on('data', function (chunk) {
str += chunk;
});
response.on('end', function () {
console.log(str);
});
};

var data = {a: 1, b: 2, c: [3,3,3]};
var json = JSON.stringify(data);
var req = http.request(options, callback);
req.write(json);
req.end();

要对其进行测试,您可以使用以下命令在端口 9200 上启动 netcat 监听:

nc -l 9200

运行我的 Node 示例会发送以下请求:

GET /twitter/tweet/_count HTTP/1.1
Content-type: application/json
Host: localhost:9200
Connection: close

{"a":1,"b":2,"c":[3,3,3]}

如果您不想使用任何 npm 模块,例如 request那么你需要熟悉内置 http 模块的底层 API。它有很好的记录:

关于node.js - 如何使用正文发出 GET 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40790192/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com