【发布时间】:2012-07-07 14:13:36
【问题描述】:
我一直在尝试在 Node.js 中将粘贴发布到 Pastebin,但似乎我做错了。
我收到 Bad API request, invalid api_option,但是我显然将 api_option 设置为 paste,就像文档要求的那样为。
var http = require('http');
var qs = require('qs');
var query = qs.stringify({
api_option: 'paste',
api_dev_key: 'xxxxxxxxxxxx',
api_paste_code: 'Awesome paste content',
api_paste_name: 'Awesome paste name',
api_paste_private: 1,
api_paste_expire_date: '1D'
});
var req = http.request({
host: 'pastebin.com',
port: 80,
path: '/api/api_post.php',
method: 'POST',
headers: {
'Content-Type': 'multipart/form-data',
'Content-Length': query.length
}
}, function(res) {
var data = '';
res.on('data', function(chunk) {
data += chunk;
});
res.on('end', function() {
console.log(data);
});
});
req.write(query);
req.end();
console.log(query) 确认字符串编码良好,并且 api_option 存在并设置为 paste。
现在,我一直在寻找可能的原因。我还尝试在写入 req.write(query, 'utf8') 上设置编码,因为 Pastebin API 提到 POST 必须是 UTF-8 编码的。我一遍又一遍地重写,并多次重新查阅 Node HTTP 文档。
我很确定我在这里完全错过了一些东西,因为我看不出这怎么会失败。有人知道我做错了什么吗?
【问题讨论】: