node.js POST请求

我看了一下api,但是找不到。

在哪里/如何将数据放在client.request()client.request("POST" ,...)上的POST请求?

也许你应该仔细看看。

这是直接从node.js API文档:

request_headers是可选的。 额外的请求头可能由Node内部添加。 返回一个ClientRequest对象。

如果您计划发送正文,请记住包含Content-Length标头。 如果您计划传输正文,可能需要设置Transfer-Encoding:分块。

注意:请求不完整。 此方法只发送请求的标题。 需要调用request.end()来完成请求并检索响应。 (这听起来很复杂,但它提供了一个机会让用户通过request.write()将一个主体stream式传输到服务器。)

request.write()用于发送数据。

所以你这样做(或多或less):

 var rq = client.request('POST', 'http://example.org/', {'Content-Length': '1024'}); var body = getMe1024BytesOfData(); rq.write(body); rq.end(); 

这段代码就是为了让这个概念贯穿始终。 我没有以任何方式testing它。

为了更简单的客户端请求,您可以使用请求模块。 它负责所有的艰苦工作,并有一个简单的API。

你也可以使用Requestify ,一个非常酷,非常简单的HTTP客户端,我为nodeJS +写的它支持caching。

只需执行以下操作来执行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(); });