首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Node.js中使用Pastebin

在Node.js中使用Pastebin
EN

Stack Overflow用户
提问于 2012-07-07 09:12:18
回答 2查看 2K关注 0票数 3

我一直试图贴一个粘贴到巴斯丁在Node.js,但这似乎是我做错了。

我得到了一个坏API请求,无效的api_option,但是,我明显地将api_option设置为粘贴,就像文档所要求的那样。

代码语言:javascript
复制
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在那里,并设置为粘贴

我一直在寻找可能的原因。我还尝试在写req.write(query, 'utf8')上设置编码,因为Pastebin提到POST必须是UTF-8编码的。我一遍又一遍地重写了这个东西,并多次重新查阅了Node文档。

我很肯定我完全漏掉了一些东西,因为我不知道这怎么会失败。有人知道我做错了什么吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-08 02:12:39

您所创建的不是一个格式正确的multipart/form-data请求;它更像是一个application/x-www-form-urlencoded请求。从我所知道的关于pastebin的API (我从未实际使用过它)中可以看出,后者才是您真正想要的,所以请尝试将Content-Type更改为它。

票数 3
EN

Stack Overflow用户

发布于 2012-07-07 22:18:19

它不能直接回答你的问题,但也许能帮上忙.

您试过使用请求模块吗?

你的例子会更容易理解,你可能会发现问题.

mikeal/请求

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11373727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档