如何在 Node.js 中使用 Core HTTP 创建 HTTP 客户端

作者选择了 COVID-19 救援基金作为 Write for Donations计划的一部分,接受捐款。

介绍

一个现代的网络应用程序通常与其他服务器通信以完成一个任务. 例如,允许您在线购买一本书的网络应用可能涉及客户订单服务器,书籍库存服务器和支付服务器之间的通信. 在这个设计中,不同的服务通过网络API——标准格式进行交流,允许您在程序上发送并接收数据. 在 [Node.js] (https://nodejs.org/en/about/] app中,您可以通过制作HTTP请求来与网络API通信.

节点.js带有一个[http' (https://nodejs.org/api/http.html)和一个[https' 模块] (https://nodejs.org/api/https.html)。 这些模块具有创建HTTP服务器的功能,这样一个节点.js程序就可以响应HTTP的请求. 他们也可以向其他服务器提出HTTP请求. 此关键功能为Node.js程序员配备了以Node.js创建现代,API驱动的网络应用程序. 由于它是一个核心模块,你不需要安装任何库来使用.

在此教程中, 您将使用 https 模块向 [JSON Placeholders] (https://jsonplaceholder.typicode.com ) 提出 HTTP 请求, 作为测试目的。 您将首先提出 GET 请求, 即接收数据的标准 HTTP 请求 。 然后您将研究如何自定义您的请求, 例如添加信头 。 最后,您将提出POST'、PUT'和`DELETE ' 请求,以便在外部服务器上修改数据.

前提条件

  • 联合国 此教程需要您安装 Node.js 。 安装后,您就可以访问整个教程中使用的https模块。 此教程使用Node.js版本的10.19. 要在macOS或Ubuntu 18.04上安装节点(js),请遵循如何在macOS上安装节点(js)并创建本地开发环境或[如何在Ubuntu 18.04上安装节点(js)的总和使用PPA 部分(https://andsky.com/tech/tutorials/how-to-install-node-js-on-ubuntu-18-04)。
  • 联合国 用于发送HTTP请求的方法有流基API. 在Node.js中,溪流是事件发射器的例子. 对来自一流的数据的反应方式与对事件数据的反应方式相同. 如果您好奇, 您可以读取我们的 Using Event Emiters in Node.js 指南, 以获得对事件发射器的更深入了解 。 .

第1步:提出GET请求

当您与 API 进行交互时,您通常会发出GET请求以从 Web 服务器中获取数据. 在此步骤中,您将查看 Node.js 中的GET请求的两种功能.您的代码将从公共可用的 API 获取 JSON array的用户配置文件。

https模块有两个函数来执行GET请求,即get()函数,该函数只能执行GET请求,以及request()函数,该函数会执行其他类型的请求。

使用get()进行请求

使用get()函数的 HTTP 请求具有此格式:

1https.get(URL_String, Callback_Function) {
2    Action
3}

第一个参数是与您提出请求的终端点的字符串;第二个参数是 Callback 函数,您使用它来处理响应。

在您的终端中,创建一个文件夹来存储本指南的所有 Node.js 模块:

1mkdir requests

输入此文件夹:

1cd requests

在文本编辑器中创建并打开新文件. 本教程将使用nano,因为它在终端中可用:

1nano getRequestWithGet.js

要在 Node.js 中创建 HTTP 请求,请通过添加跟踪行来导入https模块:

1[label requests/getRequestWithGet.js]
2const https = require('https');

注意:Node.js 具有httphttps模块,它们具有相同的功能,并以类似的方式行为,但https通过Transport Layer Security (TLS/SSL)(https://en.wikipedia.org/wiki/Transport_Layer_Security)执行请求。由于您正在使用的 Web 服务器可通过 HTTPS 访问,您将使用https模块。如果您正在向和从只有 HTTP 的 URL 发送请求,那么您将使用http模块。

现在使用http object向API发送GET请求以获取用户列表。您将使用JSON Placeholder(https://jsonplaceholder.typicode.com)用于测试,该API不会记录您对请求的任何更改。

在您的文本编辑器中写下以下突出代码:

1[label requests/getRequestWithGet.js]
2const https = require('https');
3
4let request = https.get('https://jsonplaceholder.typicode.com/users?_limit=2', (res) => { });

正如函数签名中所提到的,get()函数需要两个参数:第一个是您在 string 格式中提出请求的 API URL,第二个是调用来处理 HTTP 响应。

HTTP 响应附有状态代码. 状态代码是指响应成功程度的数字. 200 到 299 之间的状态代码是积极的响应,而 400 到 599 之间的代码是错误。

对于此请求,一个成功的响应将有一个 200 状态代码. 您在回复呼叫时要做的第一件事是验证状态代码是您期望的。

 1[label requests/getRequestWithGet.js]
 2const https = require('https');
 3
 4let request = https.get('https://jsonplaceholder.typicode.com/users?_limit=2', (res) => {
 5  if (res.statusCode !== 200) {
 6    console.error(`Did not get an OK from the server. Code: ${res.statusCode}`);
 7    res.resume();
 8    return;
 9  }
10});

在回复中可用的响应对象具有存储状态代码的statusCode属性. 如果状态代码不为 200,则将错误登录到控制台并退出。

请注意具有res.resume()的行,您将该行列入,以提高性能。在执行HTTP请求时,Node.js将消耗与请求一起发送的所有数据。res.resume()方法告诉Node.js忽略流的数据。

现在你已经捕获了错误响应,添加代码来读取数据. Node.js 响应将其数据流成片段. 获取数据的策略将是听取数据来自响应时,收集所有片段,然后分析 JSON 以便您的应用程序可以使用它。

更改请求回调,以包含此代码:

 1[label requests/getRequestWithGet.js]
 2const https = require('https');
 3
 4let request = https.get('https://jsonplaceholder.typicode.com/users?_limit=2', (res) => {
 5  if (res.statusCode !== 200) {
 6    console.error(`Did not get an OK from the server. Code: ${res.statusCode}`);
 7    res.resume();
 8    return;
 9  }
10
11  let data = '';
12
13  res.on('data', (chunk) => {
14    data += chunk;
15  });
16
17  res.on('close', () => {
18    console.log('Retrieved all data');
19    console.log(JSON.parse(data));
20  });
21});

您可以将数据存储为代表字节数据或字符串的数组。本教程使用后者,因为它更容易将JSON字符串转换为JavaScript对象(https://andsky.com/tech/tutorials/understanding-objects-in-javascript)。

创建数据变量后,你会创建一个事件倾听器(https://andsky.com/tech/tutorials/understanding-events-in-javascript# event-handlers-and-event-listeners)。Node.js将 HTTP 响应的数据流成片段,因此,当响应对象发出一个数据事件时,你会将收到的数据收集到你的数据变量中。

当从服务器接收所有数据时,Node.js 会发出一个关闭事件,在此时,您将解析存储在数据中的 JSON 字符串,并将结果登录到控制台。

您的 Node.js 模块现在可以与 JSON API 进行通信,并登录用户列表,这将是一个由三个用户组成的 JSON 阵列。

例如,如果您丢失了互联网连接,您可能无法发送请求. 添加以下代码来捕捉当您无法发送 HTTP 请求时的错误:

 1[label requests/getRequestWithGet.js]
 2...
 3  res.on('data', (chunk) => {
 4    data += chunk;
 5  });
 6
 7  res.on('close', () => {
 8    console.log('Retrieved all data');
 9    console.log(JSON.parse(data));
10  });
11
12});
13
14request.on('error', (err) => {
15  console.error(`Encountered an error trying to make a request: ${err.message}`);
16});

当请求发出但无法发送时,请求对象会发出错误事件. 如果发出错误事件但没有被听到,Node.js 程序会崩溃.因此,为了捕捉错误,您可以添加一个具有on()函数的事件倾听器并听取错误事件。

这是这个文件的所有代码. 保存和退出nanoCTRL+X

现在用node运行此程序:

1node getRequestWithGet.js

您的控制台将显示此响应:

 1[secondary_label Output]
 2Retrieved all data
 3[
 4  {
 5    id: 1,
 6    name: 'Leanne Graham',
 7    username: 'Bret',
 8    email: '[email protected]',
 9    address: {
10      street: 'Kulas Light',
11      suite: 'Apt. 556',
12      city: 'Gwenborough',
13      zipcode: '92998-3874',
14      geo: [Object]
15    },
16    phone: '1-770-736-8031 x56442',
17    website: 'hildegard.org',
18    company: {
19      name: 'Romaguera-Crona',
20      catchPhrase: 'Multi-layered client-server neural-net',
21      bs: 'harness real-time e-markets'
22    }
23  },
24  {
25    id: 2,
26    name: 'Ervin Howell',
27    username: 'Antonette',
28    email: '[email protected]',
29    address: {
30      street: 'Victor Plains',
31      suite: 'Suite 879',
32      city: 'Wisokyburgh',
33      zipcode: '90566-7771',
34      geo: [Object]
35    },
36    phone: '010-692-6593 x09125',
37    website: 'anastasia.net',
38    company: {
39      name: 'Deckow-Crist',
40      catchPhrase: 'Proactive didactic contingency',
41      bs: 'synergize scalable supply-chains'
42    }
43  }
44]

这意味着您已成功使用核心 Node.js 库完成了GET请求。

您使用的get()方法是 Node.js 提供的一种方便的方法,因为GET请求是一种非常常见的请求类型。

使用请求()来创建请求

请求() 方法支持多个函数签名. 您将使用此方法为下面的示例:

1https.request(URL_String, Options_Object, Callback_Function) {
2    Action
3}

第一个参数是具有 API 终端的字符串,第二个参数是包含请求的所有选项的 JavaScript 对象,最后一个参数是处理响应的回复函数。

创建一个名为getRequestWithRequest.js的新模块的新文件:

1nano getRequestWithRequest.js

你要写的代码类似于你之前写的getRequestWithGet.js模块,首先要导入https模块:

1[label requests/getRequestWithRequest.js]
2const https = require('https');

接下来,创建一个包含方法密钥的新JavaScript对象:

1[label requests/getRequestWithRequest.js]
2const https = require('https');
3
4const options = {
5  method: 'GET'
6};

此对象中的方法键会告诉请求()函数请求所使用的 HTTP 方法。

接下来,在您的代码中提出请求。下面的代码封锁突出显示了与使用get()方法提出的请求不同的代码。

 1[label requests/getRequestWithRequest.js]
 2...
 3
 4let request = https.request('https://jsonplaceholder.typicode.com/users?_limit=2', options, (res) => {
 5  if (res.statusCode !== 200) {
 6    console.error(`Did not get an OK from the server. Code: ${res.statusCode}`);
 7    res.resume();
 8    return;
 9  }
10
11  let data = '';
12
13  res.on('data', (chunk) => {
14    data += chunk;
15  });
16
17  res.on('close', () => {
18    console.log('Retrieved all data');
19    console.log(JSON.parse(data));
20  });
21});
22
23request.end();
24
25request.on('error', (err) => {
26  console.error(`Encountered an error trying to make a request: ${err.message}`);
27});

若要使用请求()进行请求,请在第一个参数中提供 URL,在第二个参数中提供具有 HTTP 选项的对象,并在第三个参数中提供回调来处理答案。

您之前创建的选项变量是第二个论点,它告诉 Node.js 这是一个GET请求。

您还称呼请求变量的end()方法. 这是必须在使用请求()函数时呼叫的一个重要方法. 它完成了请求,允许发送它. 如果您不呼叫它,程序永远不会完成,因为Node.js会认为您仍然有数据可以添加到请求中。

使用CTRL+X保存和退出nano,或与文本编辑器相等。

在您的终端运行此程序:

1node getRequestWithRequest.js

您将收到以下输出,与第一个模块相同:

 1[secondary_label Output]
 2Retrieved all data
 3[
 4  {
 5    id: 1,
 6    name: 'Leanne Graham',
 7    username: 'Bret',
 8    email: '[email protected]',
 9    address: {
10      street: 'Kulas Light',
11      suite: 'Apt. 556',
12      city: 'Gwenborough',
13      zipcode: '92998-3874',
14      geo: [Object]
15    },
16    phone: '1-770-736-8031 x56442',
17    website: 'hildegard.org',
18    company: {
19      name: 'Romaguera-Crona',
20      catchPhrase: 'Multi-layered client-server neural-net',
21      bs: 'harness real-time e-markets'
22    }
23  },
24  {
25    id: 2,
26    name: 'Ervin Howell',
27    username: 'Antonette',
28    email: '[email protected]',
29    address: {
30      street: 'Victor Plains',
31      suite: 'Suite 879',
32      city: 'Wisokyburgh',
33      zipcode: '90566-7771',
34      geo: [Object]
35    },
36    phone: '010-692-6593 x09125',
37    website: 'anastasia.net',
38    company: {
39      name: 'Deckow-Crist',
40      catchPhrase: 'Proactive didactic contingency',
41      bs: 'synergize scalable supply-chains'
42    }
43  }
44]

现在你已经使用了请求()方法来创建一个GET请求,了解这个功能很重要,因为它允许你以get()方法无法的方式定制你的请求,例如使用其他HTTP方法进行请求。

接下来,您将使用请求()函数配置和定制您的请求。

步骤 2 — 配置 HTTP request() 选项

请求()函数允许您在第一个参数中不指定 URL 发送 HTTP 请求,在这种情况下,URL 将包含选项对象,而请求()将具有以下函数签名:

1https.request(Options_Object, Callback_Function) {
2    Action
3}

在此步骤中,您将使用此功能与选项对象配置您的请求()

Node.js 允许您在您传递给请求的选项对象中输入 URL. 若要尝试,请重新打开getRequestWithRequest.js文件:

1nano getRequestWithRequest.js

请求()调用中删除 URL,以便唯一的参数是选项变量和回调函数:

1[label requests/getRequestWithRequest.js]
2const https = require('https');
3
4const options = {
5  method: 'GET',
6};
7
8let request = https.request(options, (res) => {
9...

现在将以下属性添加到选项对象中:

 1[label requests/getRequestWithRequest.js]
 2const https = require('https');
 3
 4const options = {
 5  host: 'jsonplaceholder.typicode.com',
 6  path: '/users?_limit=2',
 7  method: 'GET'
 8};
 9
10let request = https.request(options, (res) => {
11...

代替一个字符串 URL,你有两个属性――主机路径主机是您正在访问的服务器的域名或 IP 地址。

选项对象可以包含进入请求的其他有用的数据,例如,您可以在选项中提供请求标题,标题通常会发送有关请求的元数据。

当开发人员创建 API 时,他们可能会选择支持不同的数据格式. 一个 API 终端可能能够返回 JSON、 CSVXML的数据。

虽然在这些示例中使用的 API 只返回 JSON,但您可以将接受标题添加到请求中,以明确表示您想要 JSON。

添加以下代码行以附加接受标题:

 1[label requests/getRequestWithRequest.js]
 2const https = require('https');
 3
 4const options = {
 5  host: 'jsonplaceholder.typicode.com',
 6  path: '/users?_limit=2',
 7  method: 'GET',
 8  headers: {
 9    'Accept': 'application/json'
10  }
11};

通过添加标题,您已经涵盖了 Node.js HTTP 请求中发送的四种最流行的选项:主机,路径,方法标题

输入CTRL+X来保存你的文件,然后输出nano

接下来,再次运行代码,仅使用选项来执行请求:

1node getRequestWithRequest.js

结果将与你之前的跑步相同:

 1[secondary_label Output]
 2Retrieved all data
 3[
 4  {
 5    id: 1,
 6    name: 'Leanne Graham',
 7    username: 'Bret',
 8    email: '[email protected]',
 9    address: {
10      street: 'Kulas Light',
11      suite: 'Apt. 556',
12      city: 'Gwenborough',
13      zipcode: '92998-3874',
14      geo: [Object]
15    },
16    phone: '1-770-736-8031 x56442',
17    website: 'hildegard.org',
18    company: {
19      name: 'Romaguera-Crona',
20      catchPhrase: 'Multi-layered client-server neural-net',
21      bs: 'harness real-time e-markets'
22    }
23  },
24  {
25    id: 2,
26    name: 'Ervin Howell',
27    username: 'Antonette',
28    email: '[email protected]',
29    address: {
30      street: 'Victor Plains',
31      suite: 'Suite 879',
32      city: 'Wisokyburgh',
33      zipcode: '90566-7771',
34      geo: [Object]
35    },
36    phone: '010-692-6593 x09125',
37    website: 'anastasia.net',
38    company: {
39      name: 'Deckow-Crist',
40      catchPhrase: 'Proactive didactic contingency',
41      bs: 'synergize scalable supply-chains'
42    }
43  }
44]

由于API可能因提供商而异,因此与选项对象保持舒适是适应其不同需求的关键,而数据类型和标题是最常见的变异。

到目前为止,您只执行了GET请求以获取数据;接下来,您将使用 Node.js 进行POST请求,以便将数据上传到服务器。

步骤3 - 提出POST请求

当您上传数据到服务器或希望服务器为您创建数据时,您通常会发送一个POST请求,在本节中,您将在 Node.js 中创建一个POST请求。

尽管它与GET不同的方法,但在写POST请求时,您将能够重复使用以前请求的代码。

  • 选项对象中的方法更改为POST * 添加标题表示您正在上传 JSON * 检查状态代码以确认用户创建 * 上传新用户的数据

要进行这些更改,首先创建一个名为postRequest.js的新文件,在nano或替代文本编辑器中打开此文件:

1nano postRequest.js

首先,导入https模块并创建一个选项对象:

 1[label requests/postRequest.js]
 2const https = require('https');
 3
 4const options = {
 5  host: 'jsonplaceholder.typicode.com',
 6  path: '/users',
 7  method: 'POST',
 8  headers: {
 9    'Accept': 'application/json',
10    'Content-Type': 'application/json; charset=UTF-8'
11  }
12};

您更改了路径,以匹配POST请求所需的内容。您还将方法更新为POST。 最后,您在内容类型选项中添加了一个新标题,该标题告诉服务器您正在上传的数据类型。

接下来,使用请求()函数创建请求,这类似于您创建GET请求的方式,但现在您正在寻找与200不同的状态代码。

 1[label requests/postRequest.js]
 2...
 3const request = https.request(options, (res) => {
 4  if (res.statusCode !== 201) {
 5    console.error(`Did not get a Created from the server. Code: ${res.statusCode}`);
 6    res.resume();
 7    return;
 8  }
 9
10  let data = '';
11
12  res.on('data', (chunk) => {
13    data += chunk;
14  });
15
16  res.on('close', () => {
17    console.log('Added new user');
18    console.log(JSON.parse(data));
19  });
20});

突出的代码行检查状态代码是否为201,使用 201 状态代码表示服务器创建了资源。

POST请求旨在创建新用户. 对于此API,您需要上传用户详细信息. 创建一些用户数据并将其发送到您的POST请求:

 1[label requests/postRequest.js]
 2...
 3
 4const requestData = {
 5  name: 'New User',
 6  username: 'digitalocean',
 7  email: '[email protected]',
 8  address: {
 9    street: 'North Pole',
10    city: 'Murmansk',
11    zipcode: '12345-6789',
12  },
13  phone: '555-1212',
14  website: 'digitalocean.com',
15  company: {
16    name: 'DigitalOcean',
17    catchPhrase: 'Welcome to the developer cloud',
18    bs: 'cloud scale security'
19  }
20};
21
22request.write(JSON.stringify(requestData));

您首先创建了requestData变量,这是一个包含用户数据的JavaScript对象,您的请求不包含一个id字段,因为服务器通常在保存新数据时会生成这些。

接下来,您使用request.write()函数,该函数接受一个字符串或缓冲对象来与请求一起发送,因为您的requestData变量是对象,您使用了JSON.stringify函数将其转换为字符串。

要完成此模块,请结束请求并检查错误:

1[label requests/postRequest.js]
2...
3
4request.end();
5
6request.on('error', (err) => {
7  console.error(`Encountered an error trying to make a request: ${err.message}`);
8});

在使用 end() 函数之前,您必须编写数据,而 end() 函数会告诉 Node.js 将不再添加到请求中的数据,然后发送它。

保存和退出nano通过按CTRL+X

运行此程序来确认新用户已创建:

1node postRequest.js

将显示以下输出:

 1[secondary_label Output]
 2Added new user
 3{
 4  name: 'New User',
 5  username: 'digitalocean',
 6  email: '[email protected]',
 7  address: { street: 'North Pole', city: 'Murmansk', zipcode: '12345-6789' },
 8  phone: '555-1212',
 9  website: 'digitalocean.com',
10  company: {
11    name: 'DigitalOcean',
12    catchPhrase: 'Welcome to the developer cloud',
13    bs: 'cloud scale security'
14  },
15  id: 11
16}

输出确认请求成功,API返回了已上传的用户数据,以及已分配给它的 ID。

现在你已经学会了如何创建POST请求,你可以将数据上传到Node.js的服务器上,接下来你将尝试PUT请求,一种用于更新服务器中的数据的方法。

第4步:提出PUT请求

虽然这可能与POST请求类似,但PUT请求具有不同的功能。

在实践中,你写的代码类似于POST请求的代码,你设置了选项,提出了请求,写下你想要上传的数据,并验证了响应。

要尝试,您将创建一个PUT请求,更新第一个用户的用户名。

由于代码类似于POST请求,您将使用该模块作为这个模块的基础,将postRequest.js复制到一个新的文件,putRequest.js:

1cp postRequest.js putRequest.js

现在,在文本编辑器中打开putRequest.js:

1nano putRequest.js

做出这些突出的更改,以便您发送一个PUT请求到https://jsonplaceholder.typicode.com/users/1:

 1[label requests/putRequest.js]
 2const https = require('https');
 3
 4const options = {
 5  host: 'jsonplaceholder.typicode.com',
 6  path: '/users/1',
 7  method: 'PUT',
 8  headers: {
 9    'Accept': 'application/json',
10    'Content-Type': 'application/json; charset=UTF-8'
11  }
12};
13
14const request = https.request(options, (res) => {
15  if (res.statusCode !== 200) {
16    console.error(`Did not get an OK from the server. Code: ${res.statusCode}`);
17    res.resume();
18    return;
19  }
20
21  let data = '';
22
23  res.on('data', (chunk) => {
24    data += chunk;
25  });
26
27  res.on('close', () => {
28    console.log('Updated data');
29    console.log(JSON.parse(data));
30  });
31});
32
33const requestData = {
34  username: 'digitalocean'
35};
36
37request.write(JSON.stringify(requestData));
38
39request.end();
40
41request.on('error', (err) => {
42  console.error(`Encountered an error trying to make a request: ${err.message}`);
43});

你首先更改了选项对象的路径方法属性。路径在这种情况下识别了你要更新的用户。当你提出请求时,你检查了响应代码是否为200,这意味着请求是OK。

保存和退出nanoCTRL+X

现在在您的终端上运行此 Node.js 程序:

1node putRequest.js

您将收到此输出:

1[secondary_label Output]
2Updated data
3{ username: 'digitalocean', id: 1 }

您发送了一个PUT请求来更新一个现有用户。

到目前为止,您已经学会了如何获取、添加和更新数据. 为了为我们提供通过API管理数据的完整命令,您将接下来发出一个DELETE请求,以从服务器中删除数据。

第5步:提出删除请求

DELETE请求用于从服务器中删除数据. 它可以有一个请求体,但大多数API通常不需要它们. 这种方法用于从服务器中删除整个对象。

您要写的代码类似于GET请求的代码,所以使用该模块作为此类请求的基础。

1cp getRequestWithRequest.js deleteRequest.js

打开deleteRequest.js并使用nano:

1nano deleteRequest.js

现在在突出部分修改代码,这样您就可以删除API中的第一个用户:

 1[label requests/putRequest.js]
 2const https = require('https');
 3
 4const options = {
 5  host: 'jsonplaceholder.typicode.com',
 6  path: '/users/1',
 7  method: 'DELETE',
 8  headers: {
 9    'Accept': 'application/json',
10  }
11};
12
13const request = https.request(options, (res) => {
14  if (res.statusCode !== 200) {
15    console.error(`Did not get an OK from the server. Code: ${res.statusCode}`);
16    res.resume();
17    return;
18  }
19
20  let data = '';
21
22  res.on('data', (chunk) => {
23    data += chunk;
24  });
25
26  res.on('close', () => {
27    console.log('Deleted user');
28    console.log(JSON.parse(data));
29  });
30});
31
32request.end();
33
34request.on('error', (err) => {
35  console.error(`Encountered an error trying to make a request: ${err.message}`);
36});

对于本模块,您首先将选项对象的路径属性更改为要删除的资源,即第一个用户,然后将方法更改为DELETE

保存和退出此文件,按CTRL+X

运行此模块以确认它工作. 输入您的终端中的以下命令:

1node deleteRequest.js

该计划将产生此:

1[secondary_label Output]
2Deleted user
3{}

虽然API没有返回响应体,但您仍然收到200个响应,因此请求是OK的。

现在您已经学会了如何使用 Node.js 核心模块创建DELETE请求。

结论

在本教程中,您在 Node.js 中创建了GET,POST,PUTDELETE请求,没有安装库;这些请求使用了标准的https模块。

您所编写的代码是为可公开使用的测试 API 编写的,但是,您编写请求的方式将适用于所有类型的 API. 如果您想了解更多关于 API 的信息,请参阅我们的 API 主题页面

Published At
Categories with 技术
comments powered by Disqus