首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

net

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

程序:主

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

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

  • 自动管理系统代理配置,支持wpad协议和代理pac配置文件。
  • 自动隧道化HTTPS请求。
  • 支持使用基本,摘要,NTLM,Kerberos或协商身份验证方案对代理进行身份验证。
  • 支持流量监控代理:用于访问控制和监控的Fiddler-like代理。

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

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

代码语言:javascript
复制
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请求。

扫码关注腾讯云开发者

领取腾讯云代金券