当前位置: 首页 > 面试题库 >

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

尹辰沛
2023-03-14
问题内容

我正在一个需要https get和post方法的项目中。我有一个简短的https.get函数在这里工作…

const https = require("https");

function get(url, callback) {
    "use-strict";
    https.get(url, function (result) {
        var dataQueue = "";    
        result.on("data", function (dataBuffer) {
            dataQueue += dataBuffer;
        });
        result.on("end", function () {
            callback(dataQueue);
        });
    });
}

get("https://example.com/method", function (data) {
    // do something with data
});

我的问题是没有https.post,我已经在这里使用https模块尝试了http解决方案。如何在node.js中发出HTTPPOST请求?但返回控制台错误。

我在浏览器中使用get和post与Ajax到相同的api都没有问题。我可以使用https.get来发送查询信息,但是我认为这不是正确的方法,并且如果我决定扩展的话,我认为它不会在以后发送文件。

是否有一个最低要求的小示例,可以使https.request发出一个https.post,如果有一个?我不想使用npm模块。


问题答案:

例如,像这样:

const querystring = require('querystring');
const https = require('https');

var postData = querystring.stringify({
    'msg' : 'Hello World!'
});

var options = {
  hostname: 'posttestserver.com',
  port: 443,
  path: '/post.php',
  method: 'POST',
  headers: {
       'Content-Type': 'application/x-www-form-urlencoded',
       'Content-Length': postData.length
     }
};

var req = https.request(options, (res) => {
  console.log('statusCode:', res.statusCode);
  console.log('headers:', res.headers);

  res.on('data', (d) => {
    process.stdout.write(d);
  });
});

req.on('error', (e) => {
  console.error(e);
});

req.write(postData);
req.end();


 类似资料:
  • 作为Joomla的一名新PHP开发人员,我一直在尝试在网页上创建表单。我找不到一个合适的来源可以轻松记录这些步骤。但经过大量搜索,我发现:http://www.ostraining.com/blog/how-tos/development/getting-started-with-jform/ 但是我不知道这些文件在我的主机上去了哪里。 有人能概述一下这些步骤吗。。。我不是在寻找完整的代码。就像:

  • 问题内容: 我是Python的新手,正在尝试安装此模块:http : //www.catonmat.net/blog/python-library-for-google- search/ 目录中没有setup.py,但是有以下文件: 有人可以告诉我如何设置或使用此模块吗? 谢谢! 问题答案: 在系统上开始使用该代码的最简单方法是: 将文件放入计算机上的目录中, 将该目录的路径添加到您的PYTHON

  • 我只需要"解除屏蔽"我的终端后...有一些选项或setpup为它? 注意:我的服务正在使用,因此假设不需要在命令行上使用。 PS:我需要保持容器运行,我不需要使用

  • 我正在使用Cucumber for BDD、JUnit和Selenium构建一个自动化框架,我们在云中有一个testrail实例用于测试管理,我实现了testrail API以从那里获取所有测试用例,问题是我无法运行这些步骤获取测试用例,因为总是验证第一个功能文件是否存在。 我尝试过结果总是一样的: 在[classpath:features] 0场景0步骤0m0.019s中找不到功能 这是启动该过

  • 问题内容: 我有一个使用JAXB创建的相当大的重复XML。将整个对象存储在内存中然后进行封送处理会占用太多内存。本质上,我的XML如下所示: 目前,我对这个问题的解决方案是将根标记“硬编码”到输出流,并逐个编组每个重复元素: JAXB以某种方式生成这样的XML 尽管这是一个有效的XML,但它看起来很难看,所以我想知道是否有任何方法告诉编组不要为item元素放置名称空间?还是有更好的方法使用JAXB

  • 我在想怎样才能 1) 如何在没有GUI的情况下直接在Eclipse中运行模型——只需像在Eclipse中运行其他java代码一样运行模型,然后打印出我感兴趣的内容。 2)如何在没有Eclipse的情况下在无头模式下运行它-我计划将我的模型部署在远程服务器中,服务器或我自己的PC可以在一天中的特定时间自动运行模型。 3) 每次更改代码时,我都必须启动一个新的GUI以反映代码的更改。打开GUI至少需要