• 技术文章 >web前端 >前端问答

    node怎么发出https请求

    长期闲置长期闲置2022-04-22 15:23:15原创292

    方法:1、用HTTP模块的“https.get()”方法发出get请求;2、用通用的“https.request()”方法发出post请求;3、用PUT和DELETE请求,只需将“options.method”改为PUT或DELETE即可。

    本教程操作环境:windows10系统、nodejs 12.19.0版本、Dell G3电脑。

    node怎么发出https请求

    了解Node.js本机HTTPS模块,该模块可以在没有任何外部依赖的情况下发出HTTP请求。

    由于它是本机模块,因此不需要安装。 您可以通过以下代码访问它:

    const https = require('https');

    GET请求

    是一个非常简单的示例,该示例使用HTTP模块的https.get()方法发送GET请求:

    const https = require('https');
    https.get('https://reqres.in/api/users', (res) => {
        let data = '';
        // called when a data chunk is received.
        res.on('data', (chunk) => {
            data += chunk;
        });
        // called when the complete response is received.
        res.on('end', () => {
            console.log(JSON.parse(data));
        });
    }).on("error", (err) => {
        console.log("Error: ", err.message);
    });

    与其他流行的HTTP客户端收集响应并将其作为字符串或JSON对象返回的方法不同,在这里,您需要将传入的数据流连接起来以供以后使用。 另一个值得注意的例外是HTTPS模块不支持promise,这是合理的,因为它是一个低级模块并且不是非常用户友好。

    POST请求

    要发出POST请求,我们必须使用通用的https.request()方法。 没有可用的速记https.post()方法。

    https.request()方法接受两个参数:

    让我们发出POST请求:

    const https = require('https');
    const data = JSON.stringify({
        name: 'John Doe',
        job: 'DevOps Specialist'
    });
    const options = {
        protocol: 'https:',
        hostname: 'reqres.in',
        port: 443,
        path: '/api/users',
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
            'Content-Length': data.length
        }
    };
    const req = https.request(options, (res) => {
        let data = '';
        res.on('data', (chunk) => {
            data += chunk;
        });
        res.on('end', () => {
            console.log(JSON.parse(data));
        });
    }).on("error", (err) => {
        console.log("Error: ", err.message);
    });
    req.write(data);
    req.end();

    options对象中的protocols和`port'属性是可选的。

    PUT和DELETE请求

    PUT和DELETE请求格式与POST请求类似。 只需将options.method值更改为PUT或DELETE。

    这是DELETE请求的示例:

    const https = require('https');
    const options = {
        hostname: 'reqres.in',
        path: '/api/users/2',
        method: 'DELETE'
    };
    const req = https.request(options, (res) => {
        // log the status
        console.log('Status Code:', res.statusCode);
    }).on("error", (err) => {
        console.log("Error: ", err.message);
    });
    req.end();

    推荐学习:《nodejs视频教程

    以上就是node怎么发出https请求的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:node
    上一篇:什么是node转发 下一篇:jquery怎么设置点击事件去除div元素
    Web大前端开发直播班

    相关文章推荐

    • node和react有什么区别• node.js是单线程的吗• node同步与异步的区别是什么• xml中node和element的区别是什么• node的安装模式之间有什么区别
    1/1

    PHP中文网