– data-urlencode curl到nodeJS请求或express模块

你好,我正试图转换这个curlstring

curl '<url>' -X POST --data-urlencode 'To=<phone>' --data-urlencode 'From=<phone>' --data-urlencode "Body=<message>" -u <user>:<pass> 

进入这个nodejs代码

 var request = require('request'); var options = { url: 'url', method: 'POST', auth: { 'user': 'user', 'pass': 'pass' } }; function callback(error, response, body) { if (!error && response.statusCode == 200) { console.log(body); } } request(options, callback); 

我没有得到如何在此代码的nodejs版本中添加–data-urlencode选项。 任何暗示,我可能会这样做?

从curl文件 :

–data-进行urlencode

(HTTP)这个发布数据,类似于其他的-d,–data选项,但是它执行URL编码。

所以你会使用form选项发送表单URL编码像这样:

 var options = { url: 'url', method: 'POST', auth: { 'user': 'user', 'pass': 'pass' }, form: { To: 'phone', From: 'phone', Body: 'message' }, headers: { 'Accept': '*/*' } }; 

请注意,您可以使用request-debug来显示实际的请求,您可以在其中检查该主体:

 To=phone&From=phone&Body=message 

为了显示curl use发送的实际数据,使用--trace-ascii /dev/stdout

 curl '<url>' -X POST --data-urlencode "Body=<message>" -u <user>:<pass> --trace-ascii /dev/stdout