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故障定位顶级技巧动态追踪Dynamic Trace详解

    node故障定位顶级技巧动态追踪Dynamic Trace详解

    这篇文章主要为大家介绍了node故障定位顶级技巧动态追踪Dynamic Trace详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • 深入剖析Express cookie-parser中间件实现示例

    深入剖析Express cookie-parser中间件实现示例

    本篇文章主要介绍了深入剖析Express cookie-parser中间件实现示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • 详解Koa中更方便简单发送响应的方式

    详解Koa中更方便简单发送响应的方式

    这篇文章主要介绍了详解Koa中更方便简单发送响应的方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • NodeJS实现视频转码的示例代码

    NodeJS实现视频转码的示例代码

    本篇文章主要介绍了NodeJS实现视频转码的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • webstorm中配置nodejs环境及npm的实例

    webstorm中配置nodejs环境及npm的实例

    今天小编就为大家分享一篇webstorm中配置nodejs环境及npm的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • node.js中的url.resolve方法使用说明

    node.js中的url.resolve方法使用说明

    这篇文章主要介绍了node.js中的url.resolve方法使用说明,本文介绍了url.resolve的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12
  • 使用node+vue.js实现SPA应用

    使用node+vue.js实现SPA应用

    这篇文章主要介绍了使用node+vue.js实现SPA应用的相关资料,需要的朋友可以参考下
    2016-01-01
  • 一文详解package.json配置

    一文详解package.json配置

    这篇文章主要为大家介绍了一文详解package.json配置,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • Node.js环境下JavaScript实现单链表与双链表结构

    Node.js环境下JavaScript实现单链表与双链表结构

    Node环境下通过npm可以获取list的几个相关库,但是我们这里注重于自己动手实现,接下来就一起来看一下Node.js环境下JavaScript实现单链表与双链表结构
    2016-06-06
  • Node.js重新刷新session过期时间的方法

    Node.js重新刷新session过期时间的方法

    在Node.js中,我们通常使用express-session这个包来使用和管理session,保存服务端和客户端浏览器之间的会话状态。那如何才能实现当用户刷新当前页面或者点击页面上的按钮时重新刷新session的过期时间呢,接下来通过本文一起学习吧
    2016-02-02

最新评论