1. 개요
Node.js에서 url 모듈을 사용하여 url 주소를 파싱하여 객체로 만들어 정보를 표시하는 예제이다.
2. 사용법
url 문자열은 여러 구성 요소를 포함하는 구조화된 문자열이다.
url 모듈을 선언하고 parse() 함수로 주소를 파싱한다.
var url = require('url');
var urlObj = url.parse("http://domain:8080/admin/page?name=admin&pwd=1234#top", true, true);
파싱된 객체를 사용하여 아래와 같이 각각의 정보를 표시한다.
전체 주소를 표시
console.log("urlObj.href = " + urlObj.href);
프로토콜을 표시
console.log("urlObj.protocol = " + urlObj.protocol);
호스트를 표시
console.log("urlObj.host = " + urlObj.host);
포트를 표시
console.log("urlObj.port = " + urlObj.port);
전체경로를 표시
console.log("urlObj.path = " + urlObj.path);
경로만 표시
console.log("urlObj.pathname = " + urlObj.pathname);
검색어를 표시
console.log("urlObj.search = " + urlObj.search);
쿼리스트링을 표시
console.log("urlObj.query :");
console.log(urlObj.query);
해쉬를 표시
console.log("urlObj.hash = " + urlObj.hash);
3. 예제
위에서 설명한 코드로 실행한 예제이다.
/** url : Uniform Resource Locator */
var url = require('url');
var urlObj = url.parse("http://domain8080/admin/page?name=admin&pwd=1234#top", true, true);
console.log("urlObj.href = " + urlObj.href);
console.log("urlObj.protocol = " + urlObj.protocol);
console.log("urlObj.host = " + urlObj.host);
console.log("urlObj.port = " + urlObj.port);
console.log("urlObj.path = " + urlObj.path);
console.log("urlObj.pathname = " + urlObj.pathname);
console.log("urlObj.search = " + urlObj.search);
console.log("urlObj.query :");
console.log(urlObj.query);
console.log("urlObj.hash = " + urlObj.hash);
console.log(url.format({ protocol : 'http', host : 'domain', pathname : '/' }));
실행 결과
urlObj.href = http://domain8080/admin/page?name=admin&pwd=1234#top
urlObj.protocol = http:
urlObj.host = domain8080
urlObj.port = null
urlObj.path = /admin/page?name=admin&pwd=1234
urlObj.pathname = /admin/page
urlObj.search = ?name=admin&pwd=1234
urlObj.query :
[Object: null prototype] { name: 'admin', pwd: '1234' }
urlObj.hash = #top
http://domain/
4. 참조 URL
728x90
'■ Front-End ■ > Node.js' 카테고리의 다른 글
[Node.js] process에 이벤트를 생성하고 호출해 보자. (0) | 2023.02.26 |
---|---|
[Node.js] querystring 모듈을 사용하여 쿼리스트링 파싱 (0) | 2023.02.26 |
[Node.js] os 모듈을 사용하여 운영체제와 시스템 정보를 조회 (0) | 2023.02.26 |
[Node.js] crypto 모듈 - 해시코드 생성, 문자열 암호화 및 복호화 (0) | 2023.02.26 |
[Node.js] w3cschool의 MySQL 튜토리얼 실행할 때 유용한 팁 (0) | 2023.02.26 |
댓글