노드에서 HTTP 요청을 보내는 5가지 방법js – 2020 버전

HTTP 요청을 보내는 방법을 배우는 것은 스트레스를 많이 받을 수 있습니다. 수십 개의 라이브러리가 사용되기 때문에 모든 해결 방안은 이전보다 더 효과적이라고 주장합니다.일부 라이브러리는 크로스플랫폼 지원을 제공하고 다른 라이브러리는 가방 크기나 개발자 체험에 중심을 둔다.본고에서 우리는 Node에서 이 핵심 기능을 실현하는 다섯 가지 가장 유행하는 방법을 연구하고자 한다.js.
코드 프레젠테이션은 모든 상호작용에서 반지의 왕을 주제로 하는 APIone API to rule them all를 사용할 것이다. 왜냐하면 지난 주말에 나는 무의식중에 이 일련의 멋진 작품을 보았기 때문이다.

선결 조건


기계에 설치되어 있는지 확인하십시오npm and Node.js, 시작하실 수 있습니다!
앞으로 뛰는 게 더 좋아요?이 글은 다음을 포함합니다.
  • HTTP (The Standard Library)
  • SuperAgent
  • Axios
  • Node Fetch
  • Got
  • HTTP(표준 라이브러리)


    표준 라이브러리에는 기본 http 모듈이 있습니다.이 모듈은 외부 패키지를 사용하여 볼륨을 추가할 필요 없이 HTTP 요청을 보내는 데 사용할 수 있습니다.그러나 이 모듈은 저급이기 때문에 개발자에게 가장 우호적이지 않다.또한 HTTP가 요청한 비동기식/대기 기능을 이 라이브러리와 함께 사용할 수 없기 때문에 asynchronous streams 를 사용하여 데이터를 블록화해야 합니다.그리고 응답 데이터를 수동으로 분석해야 합니다.
    다음 코드는 표준 http 라이브러리에서 GET 요청을 사용하여 반지의 왕 시리즈의 책 이름을 검색하는 방법을 보여 줍니다.
    const https = require('https');
    
    https.get('https://the-one-api.dev/v2/book?api_key=MY_KEY', (resp) => {
      let data = '';
    
      // a data chunk has been received.
      resp.on('data', (chunk) => {
        data += chunk;
      });
    
      // complete response has been received.
      resp.on('end', () => {
        console.log(JSON.parse(data).name);
      });
    
    }).on("error", (err) => {
      console.log("Error: " + err.message);
    });
    

    슈퍼 에이전트


    SuperAgent는 노드에서 AJAX 요청을 보낼 수 있는 소형 HTTP 요청 라이브러리입니다.js와 브라우저.SuperAgentdozens of plugins는 캐시 차단, 서버 유효 부하 변환 또는 접두사 또는 URL 접두사 등의 작업을 수행할 수 있다는 사실이 인상적입니다.또는 플러그인을 작성하여 기능을 확장할 수 있습니다.SuperAgent는 JSON 데이터를 간편하게 분석할 수 있습니다.

    The browser-ready, minified version of SuperAgent is only 6KB (minified and gzipped) and very popular amongst developers.


    터미널에서 다음 명령을 입력하여 npm에서 SuperAgent를 설치합니다.
    npm install superagent --save
    
    다음 코드 세그먼트에서는 SuperAgent를 사용하여 요청을 보내는 방법을 보여 줍니다.
    const superagent = require('superagent');
    
    (async () => {
      try {
        const queryArguments = {
          api_key: 'MY_KEY'
        }
    
        const response = await superagent.get('https://the-one-api.dev/v2/book').query(queryArguments)
        console.log(response.body.name);
      } catch (error) {
        console.log(error.response.body);
      }
    })();
    

    Axios 회사


    Axios 은 브라우저 및 노드에 사용할 HTTP 기반 클라이언트입니다.js.SuperAgent와 마찬가지로 JSON 응답을 쉽게 자동으로 해석할 수 있습니다.그것은 axios.all의 합병 요청 능력과 더욱 다르다. 예를 들어 이것은 영화와 책에서 인용을 동시에 검색하는 효과적인 방법이 될 것이다.
    터미널에서 다음 명령을 입력하여 npm에서 Axios를 설치합니다.
    npm install axios --save
    
    다음 코드 세션에서는 Axios를 사용하여 요청을 보내는 방법을 보여 줍니다.
    const axios = require('axios');
    
    (async () => {
      try {
        const response = await axios.get('https://the-one-api.dev/v2/book?api_key=MY_KEY')
        console.log(response.data.name);
      } catch (error) {
        console.log(error.response.body);
      }
    })();
    

    노드 가져오기


    Node Fetch는 API를 노드로 가져오는 경량급 모듈입니다.js.fetch(브라우저에서나 노드 fetch를 통해)를 통해 .thenawait 문법을 혼합하여 읽을 수 있는 흐름을 JSON으로 전환할 수 있습니다. 따라서 데이터 (아래 코드 세그먼트 참조) 에는 서투른 중간 변수가 필요하지 않습니다.또한 리디렉션 제한, 응답 크기 제한, 문제 해결에 사용되는 현저한 오류 등 유용한 확장은 노드 획득에 사용할 수 있음을 주의하십시오.
    터미널에서 다음 명령을 입력하여 npm에서 노드를 가져오는 데 설치합니다.
    npm install node-fetch --save
    
    다음 코드 세그먼트는 노드를 사용하여 요청을 받는 방법을 보여 줍니다.
    const fetch = require('node-fetch');
    
    (async () => {
      try {
    
        const data = await fetch('https://the-one-api.dev/v2/book? 
        api_key=MY_KEY').then(r => r.json())
    
        console.log(data.name);
      } catch (error) {
        console.log(error.response.body);
      }
    })();
    

    얻다


    Got는 노드에 사용되는 또 다른 직관적이고 강력한 HTTP 요청 라이브러리입니다.js.그것은 처음에 유행하는 소프트웨어 패키지의 경량급 대체품으로 만들어졌다.GET와 다른 라이브러리의 비교를 보려면 이것Request을 보십시오.
    GET는 Axios 및 SuperAgent와 달리 기본적으로 JSON을 처리하지 않습니다.이 기능을 실현하기 위해 { json: true } 매개 변수로 아래 코드 세그먼트에 추가합니다.

    For modern browsers and Deno usage, the folks behind Got produced Ky. Ky is a tiny HTTP client with no dependencies based on the browser Fetch API.


    터미널에 다음 명령을 입력하여 npm에서 GET를 설치합니다.
    npm install got --save
    
    다음 코드 세그먼트에서는 GET를 사용하여 요청을 보내는 방법을 보여 줍니다.
    const got = require('got');
    
    (async () => {
      try {
        const response = await got('https://the-one-api.dev/v2/book?api_key=MY_KEY', { json: true });
        console.log(response.body.name);
      } catch (error) {
        console.log(error.response.body);
      }
    })();
    

    상세 도표 끝내다


    이 글은 Node에서 현재 가장 유행하는 라이브러리를 사용하여 HTTP 요청 기능을 실현하는 방법을 보여 줍니다.js.
    다른 언어로도 HTTP 요청을 처리하는 수많은 라이브러리가 있습니다.너는 우리가 다음에 무슨 언어를 쓰기를 바라니?알려줘!우리는 당신의 생각을 듣거나 Vonage 에 관한 어떤 질문에도 기꺼이 대답할 것입니다.
    게시물Developer Community Slack이 먼저 5 Ways To Make HTTP Requests In Node.js – 2020 Edition에 올라왔다.

    좋은 웹페이지 즐겨찾기