Node.js使用node-fetch进行HTTP请求
一、前言node-fetch是一个可以在 Node.js 环境中使用的第三方模块,允许使用类似浏览器中 Fetch API 的语法和功能,方便进行 HTTP 请求。
支持Promise:node-fetch返回的是一个Promise,所以能使用Promise的链式调用语法。
支持基本的HTTP请求方法:包括GET、POST、PUT、DELETE等。
支持请求头设置:包括Content-Type、Authorization等。
支持发送JSON数据:可以轻松地将JSON数据作为请求体发送。
支持异步/同步请求:支持使用async/await处理异步请求,也支持使用Promise的.then()方法。
123456789// 简单的使用示例const fetch = require('node-fetch');const url = 'https://api.example.com/data';fetch(url) .then(response => response.json()) .then(data => ...
next.js全栈项目初始化
一、安装Node.js1.打开Node.js官网,点击下载”18.17.0 LTS”(长期支持版本)
2.运行安装程序,按照向导的默认设置一直”下一步”即可,安装完成后打开终端123# 终端中检测是否安装成功,查看版本node -vnpm -v
二、初始化项目
Next.js全栈项目初始化通常涉及到前端和后端的设置,我们使用Express作为后端框架。
1.打开命令行窗口,创建项目12345678# 创建新目录mkdir my_nextjs_fullstack_project# 打开新目录cd my_nextjs_fullstack_project# 初始化npm项目npm init -y
2.安装Next.js和Express12345678910111213141516171819# 安装命令npm install next react react-dom express# 创建页面文件夹mkdir pages# 创建项目首页,并编辑添加以下文件内容// pages/index.jsimport React from 'react';const Home ...
Restful API 设计最佳实践
一、前言目前,RESTful API 已经成为Web应用程序的标准API设计风格,受到广泛的应用和支持,其中Swagger、OpenAPI等工具的出现进一步简化了RESTful API的设计和文档编写工作。RESTful API 有如下三个特点:
资源的定位:RESTful API 将数据和操作转化为资源和 HTTP 动词,使用 URI 定位资源。
表现层状态转换:RESTful API 将资源状态作为响应数据的一部分,客户端通过修改资源状态来实现状态转换。
无状态:RESTful API 不保存客户端的状态信息,客户端每次请求都需要提供完整的请求信息。
二、最佳实践和示例1.使用HTTP动词来表达操作
增: 使用POST方法创建新的资源。删: 使用DELETE方法删除存在的资源。改: 使用PUT或PATCH方法来更新已存在的资源。查: 使用GET方法读取资源。
12345// 示例如下:GET /users/1POST /usersPUT /users/1DELETE /users/1
2.使用动词进行操作
有时对API调用的响应不涉及资源(如计算、转义或变换)。
123 ...
服务器测试脚本与安全设置
一、服务器测试脚本1.bench 服务器性能测试12# 测试VPS基础信息以及下载速度,来自秋水逸冰wget -qO- bench.sh | bash
2.Superbench 服务器性能测试12# 基于Oldking制作脚本修改的,新增5G节点下载测试bash <(curl -Lso- https://git.io/superspeed.sh)
3.SuperBench.sh 服务器测试脚本1wget -qO- --no-check-certificate https://raw.githubusercontent.com/oooldking/script/master/superbench.sh | bash
4.系统信息、I/O测试和speedtest速度测试1curl -LsO bench.monster/speedtest.sh; bash speedtest.sh -Asia
5.SuperSpeed全面测速脚本12# 中国多城市多线路测试bash <(curl -Lso- https://git.io/superspeed)
二、服务器安全 ...
Python3爬虫使用教程
前言Python3爬虫可以模拟浏览器的行为,访问网页并从中提取数据。主要应用在数据采集、搜索引擎优化、价格比较、舆情分析等领域。工作流程:
1.首先发送HTTP请求到目标网站,可以通过Python的requests库实现。2.解析HTML内容,从中提取有用的信息。常用解析库:BeautifulSoup和lxml3.选择合适的爬虫框架来简化任务。推荐流行框架:Scrapy4.使用爬虫框架,定义爬取规则和提取数据的方式。5.存储和处理数据
安装Python和pip1.打开Python官网,点击 “Downloads”,选择操作系统,下载最新的Python3版本即可
注:下载后运行可执行文件安装Python,一路默认。唯一要确保勾选”Add Python 3.x to PATH”选项,添加环境变量。
2.Win+R 打开命令提示符(CMD),输入以下命令安装pip12345# 安装pippython -m ensurepip --default-pip# 查看安装版本pip --version
3.补充:Linux系统安装,以Ubuntu举例123456789101112# 多数L ...
使用Fiddler抓包小程序教程
前言Fiddler是一款适用于Windows系统的网络调试工具,能够捕获HTTP/HTTPS协议发送和接收的网络流量,包括请求和响应的详细信息。并且,可以手动修改请求和响应信息,提供了性能分析工具,对Web开发和程序调试非常有用。一、安装Fiddler
官网下载:https://www.telerik.com/download/fiddler
二、Fiddler配置1.打开Fiddler → 菜单栏选择Tools → Options → Genneral: 全部勾选
2.HTTPS配置 → 勾选Capture HTTPS CONNECTs 和 Decrypt HTTPS traffic → 第一次配置弹出安装证书请求,同意即可
3.Connections配置 → 端口号默认:8888 → 所有选项打勾
4.Gateway配置 → Manual Proxy Configuration(手动配置本机代理):127.0.0.1
注:配置完毕后,务必重启Fiddler。否则,配置不会起效果。
三、微信小程序1.登录PC端微信 → 设置 → 网络代理设置(地址:127.0.0.1 ...
使用jsDelivr加速静态文件
一、前言jsDelivr是一个开源的 CDN(内容分发网络)服务,主要用于加速JavaScript库、CSS样式表、图像等的传输。1.加速前端资源加载
jsDelivr提供了一个全球性的CDN,通过将静态资源分发到多个节点,用户可以从离他们地理位置最近的节点获取资源,从而提高加载速度。
2.支持多种前端库和框架
jsDelivr支持多种流行的前端库和框架,包括但不限于jQuery、Bootstrap、Vue.js、React等。
3.无需注册即可使用
使用jsDelivr并不需要注册账户,可以直接通过CDN的链接引用所需的资源,易于集成到各种项目中。
4.版本控制
jsDelivr允许开发者使用特定的版本号来引用库,确保项目在使用新版本时不会受到影响。
5.支持 GitHub 和 npm 上的资源
jsDelivr可以直接从GitHub仓库和npm包管理器获取资源,更方便引用各种开源项目中的文件。
二、jsDelivr使用方法1.构造jsDelivr链接1234567891011# jsDelivr的CDN链接格式https://cdn.jsdelivr.net/npm/ ...
ChatGPT Plus开通教程
前言升级到付费版的ChatGPT Plus好处:更稳定,无字数限制,报错减少等等。截至7月中旬,ChatGPT Plus开通方式有两种:第一种,国外信用卡升级ChatGPT Plus
目前国内所有VISA和MasterCard的双币信用卡都无法支付ChatGPT Plus,香港的信用卡也不行。
第二种,苹果礼品卡升级ChatGPT Plus
5月19日,ChatGPT推出了iOS客户端,所以现在升级ChatGPT Plus又多了一种方法:购买苹果礼品卡,在ChatGPT iOS客户端开通会员。
一、国外信用卡升级ChatGPT Plus(一)、准备
北美的网络代理环境
ChatGPT账号
虚拟交易平台
推荐欧易,官网url https://www.okx.com/
虚拟信用卡
推荐Depay,官网url https://depay.com/
(二)、实操1.下载并安装欧易APP
首页 → 我要买币 → 快捷买币 → 选USDT → 购买20USDT以上 → 支持支付宝、微信或者银行卡购买
2.注册Depay账号,开通虚拟信用卡
注:开卡时可以选0USDT开卡费或 ...
Web开发—实现JWT登录鉴权
一、前言
JWT(JSON Web Token)是一种用于在网络上传输信息的开放标准(RFC 7519),通常被用来在网络应用间安全地传递信息。JWT一个关键特点是,接收方可以验证令牌的完整性,即使信息不是加密的,接收方也可以确保信息没有被篡改。因此,JWT在身份验证和信息交换方面得到广泛应用,特别是在Web开发中的用户认证、单点登录(SSO)等场景。
JWT由三部分组成: 头信息(header), 载荷(payload), Signature(签名)。
Header: 包含了关于令牌的元数据以及使用的签名算法。它通常包括两个部分:alg(指定签名算法)和 typ(指定令牌类型)。
1234{ "alg": "HS256", "typ": "JWT"}
Payload: 包含了要传递的信息。它包括一些标准的声明,以及自定义的声明。标准的声明包括 iss(签发者)、sub(主题)、aud(接收者)、exp(过期时间)、nbf(生效时间)、iat(签发时间)等。
12345 ...
使用frp进行内网穿透教程
前言
电信运营商因为IP地址短缺常常不会给用户分配公网IP地址,而我们的台式机、NAS等设备却有远程访问的需求,此时选择使用frp进行内网穿透再合适不过了。frp(Fast Reverse Proxy)作为一个用于网络通信的开源工具,常用于在内网和外网之间建立反向代理通道,实现内网服务的外部访问。该技术可以应用于内网服务器、摄像头、传感器等设备的远程访问或监控上。
工作原理:服务端运行,监听一个主端口,等待客户端的连接 → 客户端连接到服务端的主端口,同时告诉服务端要监听的端口和转发类型 → 服务端fork新的进程监听客户端指定的端口 → 外网用户连接到客户端指定的端口,服务端通过和客户端的连接将数据转发到客户端 → 客户端进程再将数据转发到本地服务,从而实现内网对外暴露服务的能力。
项目地址:https://github.com/fatedier/frp
服务器配置1.运行如下命令,选择相应版本下载1wget https://github.com/fatedier/frp/releases/download/v0.52.0/frp_0.52.0_linux_amd64.ta ...