如何在不使用“请求”的情况下通过 Node.js 发布 JSON?

王宇航

由于学术目的和其他相关政策,上一个答案需要request我希望避免使用组件。使用香草 Node.js 8.4.0,我尝试过:

var https = require('https');
var sendData = {
  api_key: 'abc',
  api_secret: '123',
  image_url: 'http://lalala.com/123/lalala.jpg',
  return_attributes: ['gender','age']
};
var options = {
  hostname: 'lalala.com',
  port: '443',
  path: '/info',
  method: 'POST',
  rejectUnauthorized: false,
  requestCert: true,
  headers: {
    'Content-Type': 'application/json',
  }
};
var openreq = https.request(options, function(serverFeedback){
  if (serverFeedback.statusCode == 200) {
    var body = '';
    serverFeedback.on('data', (data)=>{ body += data; })
      .on('end', ()=>{
        console.log(body);
      });
  } else {
    console.log('failed');
  }
});
openreq.write(JSON.stringify(sendData))
openreq.end();

可悲的是,上面的代码导致failed输出。

损坏的有机物

您的请求流没有任何问题,因为它几乎完全类似于 Node.js 文档HTTPHTTPS指南(除了JSONContent-Type)。但是,您只是在寻找200响应,而不是期望该错误可能在正文中包含应在serverFeedback.statusCode == 200条件之前捕获的消息

serverFeedback.setEncoding('utf8');
serverFeedback.on('data', (chunk) => {
  console.log(`BODY: ${chunk}`);
});
serverFeedback.on('end', () => {
  console.log('No more data in response.');
});

无论如何,问题肯定出在远程主机上,您还可以通过以下方式更仔细地观察响应信息:

console.log(`STATUS: ${serverFeedback.statusCode}`);
console.log(`HEADERS: ${JSON.stringify(serverFeedback.headers)}`);

还有一件事,如果你使用的版本8,对于相同的学术目的很值得反思的利用率var赞成letconst,以及脂肪箭头功能和承诺,而不是回调。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

没有任何第三方模块的情况下,如何在Node Js中进行https发布?

来自分类Dev

如何在不使用Node.js的情况下使用JS require()

来自分类Dev

如何发布Node.js网站

来自分类Dev

通过Node.js发布到Tumblr

来自分类Dev

如何使用node.js发布通过mqtt从URL接收的实时流json数据

来自分类Dev

如何在不使用Node.js / Ruby的情况下将Handlebars预编译集成到ant构建中?

来自分类Dev

如何在不使用yeoman的情况下使用Node.js在Heroku中托管AngularJS应用程序?

来自分类Dev

在node.js中过滤发布请求的主体

来自分类Dev

如何使用node.js发布页面

来自分类Dev

Node.js-多个发布请求

来自分类Dev

Node.JS回调发布请求关闭

来自分类Dev

将请求发布到node.js服务导致超时

来自分类Dev

如何在Node.js中将图像发布到Twitter

来自分类Dev

在Node.JS中发布和解码Json

来自分类Dev

如何在Node.js中排队发布请求?

来自分类Dev

如何在不使用npm包的情况下编写Vanilla Node.js路由器

来自分类Dev

如何在不使用docker安装Node js的情况下开发Node JS(create-react-app)

来自分类Dev

Node.js发布请求变量范围问题

来自分类Dev

无法在Node.js服务器中使用邮递员发布JSON数据

来自分类Dev

如何从Angular项目发送NODE.JS发布请求?

来自分类Dev

无法发布/ Node.js

来自分类Dev

使用HttpURLConnection和Node.js服务器的Java JSON发布请求

来自分类Dev

在不使用文件扩展名的情况下使用Node.JS在浏览器中显示json文件

来自分类Dev

如何在不使用AJAX的情况下发布原始JSON数据?

来自分类Dev

如何将json传递给Node.js请求发布方法?

来自分类Dev

如何在不使用v-for的情况下使用Vue.js访问JSON值

来自分类Dev

如何在不使用js的情况下将java中的json字符串化

来自分类Dev

在不使用任何中间件的情况下使用 Node.js 时如何检查请求是否针对 javascript(或其他类型)?

来自分类Dev

Node.js + React:如何发布

Related 相关文章

  1. 1

    没有任何第三方模块的情况下,如何在Node Js中进行https发布?

  2. 2

    如何在不使用Node.js的情况下使用JS require()

  3. 3

    如何发布Node.js网站

  4. 4

    通过Node.js发布到Tumblr

  5. 5

    如何使用node.js发布通过mqtt从URL接收的实时流json数据

  6. 6

    如何在不使用Node.js / Ruby的情况下将Handlebars预编译集成到ant构建中?

  7. 7

    如何在不使用yeoman的情况下使用Node.js在Heroku中托管AngularJS应用程序?

  8. 8

    在node.js中过滤发布请求的主体

  9. 9

    如何使用node.js发布页面

  10. 10

    Node.js-多个发布请求

  11. 11

    Node.JS回调发布请求关闭

  12. 12

    将请求发布到node.js服务导致超时

  13. 13

    如何在Node.js中将图像发布到Twitter

  14. 14

    在Node.JS中发布和解码Json

  15. 15

    如何在Node.js中排队发布请求?

  16. 16

    如何在不使用npm包的情况下编写Vanilla Node.js路由器

  17. 17

    如何在不使用docker安装Node js的情况下开发Node JS(create-react-app)

  18. 18

    Node.js发布请求变量范围问题

  19. 19

    无法在Node.js服务器中使用邮递员发布JSON数据

  20. 20

    如何从Angular项目发送NODE.JS发布请求?

  21. 21

    无法发布/ Node.js

  22. 22

    使用HttpURLConnection和Node.js服务器的Java JSON发布请求

  23. 23

    在不使用文件扩展名的情况下使用Node.JS在浏览器中显示json文件

  24. 24

    如何在不使用AJAX的情况下发布原始JSON数据?

  25. 25

    如何将json传递给Node.js请求发布方法?

  26. 26

    如何在不使用v-for的情况下使用Vue.js访问JSON值

  27. 27

    如何在不使用js的情况下将java中的json字符串化

  28. 28

    在不使用任何中间件的情况下使用 Node.js 时如何检查请求是否针对 javascript(或其他类型)?

  29. 29

    Node.js + React:如何发布

热门标签

归档