[node.js] 주소 문자열과 요청 파라미터

url 모듈

웹 사이트에 접속하기 위해 사용하는 주소 문자열을 구별하는 작업을 쉽게 할 수 있도록 노드에 만들어 둔 모듈
url 모듈을 사용하기 위해서 require() 메소드를 호출해 모듈을 불러와 사용 할 수 있다.


  • parse() : 주소 문자열을 파싱하여 URL 객체를 만들어 준다
  • format() : URL 객체를 주소 문자열로 변환한다

var url = require('url');
 
//주소 문자열을 url 객체로 만들기
var curURL = url.parse('https://m.search.naver.com/search.naver?query=steve+jobs&where=m&sm=mtp_hty');
 
//url 객체를 주소 문자열로 만들기
var curStr = url.format(curURL);
 
console.log('주소 문자열 : %s',curStr);
console.dir(curURL);
cs

네이버 모바일 페이지에 steve jobs를 검색했을 때의 주소 문자열을 url 객체로 분석하는 예제다.

결과>>
주소 문자열 : https://m.search.naver.com/search.naver?query=steve+jobs&where=m&sm=mtp_hty
Url {
  protocol: 'https:',
  slashes: true,
  auth: null,
  host: 'm.search.naver.com',
  port: null,
  hostname: 'm.search.naver.com',
  hash: null,
  search: '?query=steve+jobs&where=m&sm=mtp_hty',
  query: 'query=steve+jobs&where=m&sm=mtp_hty',
  pathname: '/search.naver',
  path: '/search.naver?query=steve+jobs&where=m&sm=mtp_hty',
  href: 'https://m.search.naver.com/search.naver?query=steve+jobs&where=m&sm=mtp_hty'
}
cs

요청 파라미터 확인하기

URL 객체 속성은 주소 문자열의 여러 가지 정보를 포함하고 있는데 그 중 query속성은 요청 파라미터 정보를 가지고 있다. 이 정보에는 여러 개의 요청 파라미터가 모두 들어 있어 웹 서버는 클라이언트의 요청 query 속성에 들어있는 문자열을 다시 각각의 요청 파라미터로 분리해야 한다. 요청 파라미터는 & 기호로 구분되는데 querystring 모듈을 사용하면 요청 파라미터를 쉽게 분리할 수 있다.

var querystring = require('querystring');
var param = querystring.parse(curURL.query);
 
console.log('요청 파라미터 중 query의 값 :%s',param.query);
console.log('원본 요청 파라미터 :%s',querystring.stringify(param));
cs

결과>>
요청 파라미터 중 query의 값 :steve jobs
원본 요청 파라미터 :query=steve%20jobs&where=m&sm=mtp_hty
cs

No comments:

Powered by Blogger.