nodejs的http和https下载远程资源post数据实例

 更新时间:2023年09月28日 08:55:53   投稿:ychy  
这篇文章主要为大家介绍了nodejs的http和https下载远程资源post数据实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

nodejs下载资源

经常用到nodejs下载资源的情况(简单的爬虫),可以考虑直接使用nodejs内置的http/https模块。

test.mjs

import https from 'https'
import fs from 'fs'
import URL from 'url'
let urlObj = URL.parse(url)
https.get({
    ...urlObj,
    rejectUnauthorized: false, // 忽略https安全性
    method: 'GET',        // 请求方式
    headers: {
        referer: '',    // 如果资源有防盗链,则清空该属性
    },
}, res => {
    //设置编码格式
    res.setEncoding('binary');
    let img = ''
    res.on('data', chunk => {
        img += chunk
    })
    res.on('end', chunk => {
        // 写到本地,(文件名,源文件,编码格式)
        fs.writeFileSync('./test.jpg', img, "binary");
    })
})

post数据

import http from 'http'
import URL from 'url'
async function post(url, dataStr) {
    let urlObj = URL.parse(url)
    return new Promise((resolve) => {
        const req = http.request({
            ...urlObj,
            method: 'POST',        // 请求方式
            headers: {
                'Content-Length': dataStr.length, // post必须填写大小
                'Content-type': 'application/x-www-form-urlencoded', // 编码格式
                referer: url,    // 如果资源有防盗链,则清空该属性
            },
        }, res => {
            //设置编码格式
            // res.setEncoding('binary');
            let data = ''
            res.on('data', chunk => {
                data += chunk
            })
            res.on('end', chunk => {
                resolve(data)
            })
        })
        // 发送数据
        req.write(dataStr);
        req.end();
    })
}

以上就是nodejs的http和https下载远程资源post数据实例的详细内容,更多关于nodejs http https远程下载的资料请关注脚本之家其它相关文章!

相关文章

  • 如何通过node.js来写接口详解

    如何通过node.js来写接口详解

    最近研究了一下nodejs写接口,发现接口并不难写,这篇文章主要给大家介绍了关于如何通过node.js来写接口的相关资料,文中通过实例代码和图文介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • Nodejs中session的简单使用及通过session实现身份验证的方法

    Nodejs中session的简单使用及通过session实现身份验证的方法

    session的本质使用cookie来实现。本文给大家介绍Nodejs中session的简单使用及通过session实现身份验证的方法,对node.js session相关知识感兴趣的朋友一起学习吧
    2016-02-02
  • 使用nvm进行多个nodejs版本的统一管理

    使用nvm进行多个nodejs版本的统一管理

    随着前端项目的越来越多,不同项目使用的nodejs版本可能不一样,导致在切换不同项目时需要更换不同的nodejs版本,非常麻烦,本次推荐使用nvm进行多个nodejs版本的统一管理,文中有详细的图文介绍,需要的朋友可以参考下
    2023-12-12
  • Node.js、Socket.IO和GPT-4构建AI聊天机器人的项目实践

    Node.js、Socket.IO和GPT-4构建AI聊天机器人的项目实践

    本文主要介绍了Node.js、Socket.IO和GPT-4构建AI聊天机器人的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • node环境下运行js代码缺少window环境的原因以及解决方法

    node环境下运行js代码缺少window环境的原因以及解决方法

    Node是一个基于Chrome V8引擎的运行环境,让JavaScript运行在服务端的开发平台,这篇文章主要给大家介绍了关于node环境下运行js代码缺少window环境的原因以及解决方法,需要的朋友可以参考下
    2023-11-11
  • Express框架定制路由实例分析

    Express框架定制路由实例分析

    这篇文章主要介绍了Express定制路由,结合实例形式分析了express框架定制路由原理、用法及相关注意事项,需要的朋友可以参考下
    2023-05-05
  • Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例

    Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例

    这篇文章主要介绍了Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例,本文给出了利用子进程调用系统命令、执行系统命令、调用传参数的shell脚本、调用python脚本的例子,需要的朋友可以参考下
    2015-01-01
  • node连接redis的方法实现

    node连接redis的方法实现

    本文主要介绍了node连接redis的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • nodejs实现获取某宝商品分类

    nodejs实现获取某宝商品分类

    这篇文章主要介绍了nodejs实现获取某宝商品分类,十分的简单实用,进入后台直接打开控制台,把代码粘进去运行就OK了,有需要的小伙伴可以参考下。
    2015-05-05
  • node异步使用await和不用await的区别实例分析

    node异步使用await和不用await的区别实例分析

    这篇文章主要介绍了node异步使用await和不用await的区别,结合实例形式分析了node.js异步使用await和不用await的实例中,同步与异步执行的区别,需要的朋友可以参考下
    2023-06-06

最新评论