nodejs的http和https下載遠(yuǎn)程資源post數(shù)據(jù)實(shí)例
nodejs下載資源
經(jīng)常用到nodejs下載資源的情況(簡(jiǎn)單的爬蟲(chóng)),可以考慮直接使用nodejs內(nèi)置的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', // 請(qǐng)求方式
headers: {
referer: '', // 如果資源有防盜鏈,則清空該屬性
},
}, res => {
//設(shè)置編碼格式
res.setEncoding('binary');
let img = ''
res.on('data', chunk => {
img += chunk
})
res.on('end', chunk => {
// 寫(xiě)到本地,(文件名,源文件,編碼格式)
fs.writeFileSync('./test.jpg', img, "binary");
})
})post數(shù)據(jù)
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', // 請(qǐng)求方式
headers: {
'Content-Length': dataStr.length, // post必須填寫(xiě)大小
'Content-type': 'application/x-www-form-urlencoded', // 編碼格式
referer: url, // 如果資源有防盜鏈,則清空該屬性
},
}, res => {
//設(shè)置編碼格式
// res.setEncoding('binary');
let data = ''
res.on('data', chunk => {
data += chunk
})
res.on('end', chunk => {
resolve(data)
})
})
// 發(fā)送數(shù)據(jù)
req.write(dataStr);
req.end();
})
}以上就是nodejs的http和https下載遠(yuǎn)程資源post數(shù)據(jù)實(shí)例的詳細(xì)內(nèi)容,更多關(guān)于nodejs http https遠(yuǎn)程下載的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
node故障定位頂級(jí)技巧動(dòng)態(tài)追蹤Dynamic?Trace詳解
這篇文章主要為大家介紹了node故障定位頂級(jí)技巧動(dòng)態(tài)追蹤Dynamic?Trace詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09
深入剖析Express cookie-parser中間件實(shí)現(xiàn)示例
本篇文章主要介紹了深入剖析Express cookie-parser中間件實(shí)現(xiàn)示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-02-02
詳解Koa中更方便簡(jiǎn)單發(fā)送響應(yīng)的方式
這篇文章主要介紹了詳解Koa中更方便簡(jiǎn)單發(fā)送響應(yīng)的方式,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07
NodeJS實(shí)現(xiàn)視頻轉(zhuǎn)碼的示例代碼
本篇文章主要介紹了NodeJS實(shí)現(xiàn)視頻轉(zhuǎn)碼的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11
webstorm中配置nodejs環(huán)境及npm的實(shí)例
今天小編就為大家分享一篇webstorm中配置nodejs環(huán)境及npm的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
node.js中的url.resolve方法使用說(shuō)明
這篇文章主要介紹了node.js中的url.resolve方法使用說(shuō)明,本文介紹了url.resolve的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12
使用node+vue.js實(shí)現(xiàn)SPA應(yīng)用
這篇文章主要介紹了使用node+vue.js實(shí)現(xiàn)SPA應(yīng)用的相關(guān)資料,需要的朋友可以參考下2016-01-01
Node.js環(huán)境下JavaScript實(shí)現(xiàn)單鏈表與雙鏈表結(jié)構(gòu)
Node環(huán)境下通過(guò)npm可以獲取list的幾個(gè)相關(guān)庫(kù),但是我們這里注重于自己動(dòng)手實(shí)現(xiàn),接下來(lái)就一起來(lái)看一下Node.js環(huán)境下JavaScript實(shí)現(xiàn)單鏈表與雙鏈表結(jié)構(gòu)2016-06-06
Node.js重新刷新session過(guò)期時(shí)間的方法
在Node.js中,我們通常使用express-session這個(gè)包來(lái)使用和管理session,保存服務(wù)端和客戶(hù)端瀏覽器之間的會(huì)話(huà)狀態(tài)。那如何才能實(shí)現(xiàn)當(dāng)用戶(hù)刷新當(dāng)前頁(yè)面或者點(diǎn)擊頁(yè)面上的按鈕時(shí)重新刷新session的過(guò)期時(shí)間呢,接下來(lái)通過(guò)本文一起學(xué)習(xí)吧2016-02-02

