node.js POST请求

时间:2010-07-07 07:19:45

标签: node.js http

我看着api,但我找不到它。

我应该在client.request()client.request("POST" ,...)上的POST请求中放置数据?

3 个答案:

答案 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();
});