net

net

使用 Chromium 的本地网络库发出 HTTP / HTTPS 请求

程序:主

net模块是用于发布HTTP(S)请求的客户端API。它类似于Node.js 的HTTP和HTTPS模块,但使用Chromium的本地网络库而不是Node.js实现,从而更好地支持Web代理。

以下是您为什么可以考虑使用net模块而非本地Node.js模块的非详尽列表:

  • 自动管理系统代理配置,支持wpad协议和代理pac配置文件。

  • 自动隧道化HTTPS请求。

  • 支持使用基本,摘要,NTLM,Kerberos或协商身份验证方案对代理进行身份验证。

  • 支持流量监控代理:用于访问控制和监控的Fiddler-like代理。

net模块API已经被专门用来模仿,尽可能接近,熟悉Node.js的API。包括类,方法,属性和事件名称的API组件类似于Node.js中常用的API组件。

例如,以下示例快速显示如何使用netAPI:

const {app} = require('electron') app.on('ready', () => { const {net} = require('electron') const request = net.request('https://github.com') request.on('response', (response) => { console.log(`STATUS: ${response.statusCode}`) console.log(`HEADERS: ${JSON.stringify(response.headers)}`) response.on('data', (chunk) => { console.log(`BODY: ${chunk}`) }) response.on('end', () => { console.log('No more data in response.') }) }) request.end() })

顺便说一下,它与您通常使用Node.js 的HTTP / HTTPS模块的方式几乎完全相同

netAPI可以在应用程序发出后才能使用ready事件。试图在ready事件发生之前使用模块会导致错误。

方法

net模块具有以下方法:

net.request(options)

  • options(Object | String) - ClientRequest构造函数选项。

返回 ClientRequest

ClientRequest使用提供options的直接转发给ClientRequest构造函数的实例创建一个实例。该net.request方法将用于根据options对象中指定的协议方案发出安全和不安全的HTTP请求。