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