programing tip

Node.js로 외부 HTTP 요청을 만드는 방법

itbloger 2020. 9. 25. 07:37
반응형

Node.js로 외부 HTTP 요청을 만드는 방법 [닫힌]


질문은 매우 간단합니다. Node.js 서버를 프록시로 사용하여 HTTP 쿼리를 백엔드 HTTP 서버 (PUT, GET 및 DELETE 요청)에 기록, 인증 및 전달하고 싶습니다.

그 목적으로 어떤 라이브러리를 사용해야합니까? 찾을 수 없습니다.


NodeJS는 http.request를 표준 모듈로 지원합니다 : http://nodejs.org/docs/v0.4.11/api/http.html#http.request

var http = require('http');

var options = {
  host: 'example.com',
  port: 80,
  path: '/foo.html'
};

http.get(options, function(resp){
  resp.on('data', function(chunk){
    //do something with chunk
  });
}).on("error", function(e){
  console.log("Got error: " + e.message);
});

나는 결합 할 노드 HTTP 프록시를 하고 표현한다 .

node-http-proxy는 다음을 통해 node.js 웹 서버 내부의 프록시를 지원합니다 RoutingProxy( 다른 http 서버 내의 프록시 요청 이라는 예제 참조 ).

사용자 정의 서버 로직 내에서 Express를 사용하여 인증을 수행 할 수 있습니다. 예제는 여기 에서 인증 샘플을 참조하십시오 .

이 두 가지 예를 결합하면 원하는 것을 얻을 수 있습니다.


내장 http모듈을 사용하여 http.request().

그러나 API를 단순화하려면 superagent 와 같은 모듈을 사용할 수 있습니다.


node-http-proxy는 위의 @hross가 제안한 훌륭한 솔루션입니다. 노드 사용에 문제 가 없다면 NGINX사용 하여 동일한 작업을 수행합니다. 그것은 노드와 정말 잘 작동합니다. 예를 들어 SSL 요청을 노드로 전달하기 전에 처리하는 데 사용합니다. 또한 캐시 및 전달 경로를 처리 할 수 ​​있습니다. 예이!


이를 위해 node.js http 모듈을 사용할 수 있습니다. Node.js HTTP 에서 문서를 확인할 수 있습니다 .

다른 HTTP 서버에도 쿼리 문자열을 전달해야합니다. ServerRequest.url에 있어야합니다 .

해당 정보가 있으면 백엔드 HTTP 서버와 포트를 전달할 수 있습니다. http.request()

참고 URL : https://stackoverflow.com/questions/7967037/how-to-make-external-http-requests-with-node-js

반응형