我看着api,但我找不到它。
我应该在client.request()
或client.request("POST" ,...)
上的POST请求中放置数据?
答案 0 :(得分:8)
也许你应该仔细观察。
这可以直接来自node.js API文档:
request_headers是可选的。 其他请求标头可能是 由Node内部添加。返回一个 ClientRequest对象。
请记得包括 如果你打算,Content-Length标题 发送一个身体。如果你打算 流动的身体,也许是设置 Transfer-Encoding:chunked。
注意:请求未完成。 此方法仅发送标头 请求。一个人需要打电话 request.end()来完成请求 并检索响应。 (这个 听起来很复杂,但它提供了一个 用户流式传输身体的机会 使用 request.write()到服务器。)
request.write()
用于发送数据。
所以你这样做(或多或少):
var rq = client.request('POST', 'http://example.org/', {'Content-Length': '1024'});
var body = getMe1024BytesOfData();
rq.write(body);
rq.end();
此代码就是为了获得概念。我没有以任何方式测试它。
答案 1 :(得分:1)
要获得更简单的客户端请求,您可以使用request模块。它负责所有的艰苦工作,并且有一个简单的API。
答案 2 :(得分:0)
您还可以使用Requestify,这是我为nodeJS +编写的非常简单且非常简单的HTTP客户端,它支持缓存。
执行POST请求时,请执行以下操作:
var requestify = require('requestify');
requestify.post('http://example.com', {
hello: 'world'
})
.then(function(response) {
// Get the response body (JSON parsed or jQuery object for XMLs)
response.getBody();
});