Electron官方文档(v1.6.1)中文翻译

10. net

2017-03-07  本文已影响184人  Shmily落墨

原文:https://github.com/electron/electron/blob/master/docs/api/net.md
译者:Lin

使用Chromium的原生网络库发出HTTP/HTTPS请求。

进程:主进程

net模块是一个发送HTTP(S)请求的客户端接口。它类似于Node.js中的HTTPHTTPS模块,但是使用Chromium的原生网络库代替Node.js的实现,可以提供更好的网络代理。

下面是为什么你可以使用net模块代替本地Node.js模块的不完全的理由的列表:

net模块接口已经特别的设计用于模仿,尽可能的接近熟悉的Node.js接口。这个接口组成包括类,方法,属性和事件名称都和通常使用的Node.js接口相似。

例如,下面的例子快速展示了net接口如何被使用:

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的HTTPHTTPS模块几乎完全类似。

net接口只可以在应用分发ready事件之后使用。如果试图在ready事件之前使用将会抛出一个错误。

<h2 id="methods">Methods</h2>

net模块有下面的方法:

<h3 id="net-request"><code>net.request(options)</code></h3>

返回值为ClientRequest类型

使用提供的options创建一个ClientRequest实例,options将会被直接转发给ClientRequest构造器。net.request方法将会根据在options中指定的协议方式被用来发送安全和不安全的HTTP请求。

上一篇下一篇

猜你喜欢

热点阅读