📜  ElectronJS 中的 HTTP REST API 调用(1)

📅  最后修改于: 2023-12-03 15:30:36.590000             🧑  作者: Mango

ElectronJS 中的 HTTP REST API 调用

在 ElectronJS 中,我们可以使用内置的 net 模块或第三方库如 requestaxios 来发起 HTTP REST API 请求。本文将介绍如何在 ElectronJS 中使用 request 库来调用 HTTP REST API。

安装 request

首先,我们需要安装 request 库。在终端中执行以下命令:

npm install request --save
发起 GET 请求

在 ElectronJS 中,我们可以使用以下代码来发起 GET 请求:

const request = require('request');

request.get('https://jsonplaceholder.typicode.com/posts', (error, response, body) => {
  if (error) {
    console.error(`请求失败: ${error}`);
    return;
  }
  console.log(`状态码: ${response.statusCode}`);
  console.log(`响应体:\n${body}`);
});

以上代码会向 https://jsonplaceholder.typicode.com/posts 发送一个 GET 请求,并在控制台中输出响应状态码和响应体。

发起 POST 请求

在 ElectronJS 中,我们可以使用以下代码来发起 POST 请求:

const request = require('request');

const options = {
    url: 'https://jsonplaceholder.typicode.com/posts',
    method: 'POST',
    headers: {
        'User-Agent': 'request'
    },
    body: {
        title: 'foo',
        body: 'bar',
        userId: 1
    },
    json: true
};

request(options, (error, response, body) => {
    if (error) {
        console.error(`请求失败: ${error}`);
        return;
    }
    console.log(`状态码: ${response.statusCode}`);
    console.log(`响应体:\n${body}`);
});

以上代码会向 https://jsonplaceholder.typicode.com/posts 发送一个 POST 请求,并在控制台中输出响应状态码和响应体。

需要注意的是,在这个例子中,我们设置了请求头 User-Agent,并且将请求体设置为 JSON 格式,并通过设置 json 属性为 true 来对其进行自动序列化和反序列化。

发起带 Authorization 头的请求

在一些需要验证身份的场合,我们通常需要在请求头中添加 Authorization 头。在 ElectronJS 中,我们可以使用以下代码来发起带 Authorization 头的请求:

const request = require('request');

const options = {
    url: 'https://jsonplaceholder.typicode.com/posts',
    headers: {
        'User-Agent': 'request',
        'Authorization': 'Bearer ' + access_token
    }
};

request.get(options, (error, response, body) => {
    if (error) {
        console.error(`请求失败: ${error}`);
        return;
    }
    console.log(`状态码: ${response.statusCode}`);
    console.log(`响应体:\n${body}`);
});

以上代码会向 https://jsonplaceholder.typicode.com/posts 发送一个带 Authorization 头的 GET 请求,并在控制台中输出响应状态码和响应体。

需要注意的是,在这个例子中,我们将 access_token 存储在一个变量中,并将其添加到 Authorization 头中。

总结

在 ElectronJS 中,我们可以使用 request 库来发起 HTTP REST API 请求。上述代码片段演示了如何发起 GET 请求、POST 请求以及带 Authorization 头的请求。我们可以通过修改请求体、请求头以及调用不同的请求方法来满足不同的需求。