티스토리 뷰

  • 주소 문자열과 요청 파라미터 다루기
웹사이트에 접속하기 위한 사이트 주소 정보는 노드에서 URL 객체로 만들 수 있음.

Example) actor로 검색버튼을 눌렀을 시

https://www.google.co.kr/?gws_rd=ssl#newwindows=1&q=actor



이때 가장 중요한 것은 어디 까지가 사이트 주소인지와 어떤 내용이 요청 파라미터 인지 구별해야함.

노드에서 미리 만들어 둔 모듈 : url 모듈 사용!
url 모듈을 사용하면 일반 주소 문자열을 URL 객체로 만들거나 또는 URL 객체에서 일반 문자열로 변환하는일이 쉬워진다.

Example) url 모듈을 이용한 주소 문자열과 URL 객체 간의 변환

https://www.google.co.kr/?gws_rd=ssl#newwindows=1&q=actor

 protocal

https 

 host

www.google.co.kr 

query 

gws_rd=ssl#newwindows=1&q=actor 
  •  주소 문자열을 URL 객체로 변환하기

메소드 이름 

설명 

 parser() 

주소 문자열을 파싱하여 URL 객체를 만들어 준다 

 format()

URL 객체를 주소 문자열로 변환한다. 


Example)


// 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);


결과 ) 

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=ste
ve+jobs&where=m&sm=mtp_hty' }

  • 요청 파라미터 확인 하기
URL 객체의 속성을 보면 주소 문자열의 여러가지 정보가 포함.
QUERY 속성은 요청 파라미터 정보를 가지고 있는데, 여러 개의 요청 파라미터가 모두 들어있다. 웹서버에서는 클라이언트에서 요청한 요청 파라미터를 받아 처리 할 때가 많다.
이 QUERY 속성에 들어 있는 문자열을 다시 각각의 요청 파라미터로 분리 해야한다.

요청 파라미터의 구분 : & 기호
querystring 모듈을 사용하면 요청 파라미터를 쉽게 분리 할수 있음.


Example) querystring 모듈 사용

// 주소 문자열을 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);

var querystring = require('querystring');
var param = querystring.parse(curURL.query);        // 요청 파라미터 문자열을 파싱하여 객체로 만들어줌.

console.log('요청 파라미터 중 query의 값: %s',param.query);
console.log('원본 요청 파라미터 : %s',querystring.stringify(param));
// stringify() 메소드는 객체 안에 들어 있는 요청 파라미터를 다시 하나의 문자열로 바꿀 때 사용한다.

  • querystring 모듈의 주요 메소드

메소드 이름 

설명 

 parse()

요청 파라미터 문자열을 파싱하여 요청 파라미터 객체로 만들어준다 

 stringfy()

요청 파라미터 객체를 문자열로 변환 한다. 




'Node.js' 카테고리의 다른 글

[node.js]파일 입출력 / 디렉터리 생성  (0) 2017.09.18
[node.js]이벤트 이해하기  (0) 2017.09.17
[node.js]프로토 타입 2  (0) 2017.09.17
[node.js]프로토 타입 이해하기  (0) 2017.09.17
[node.js]콜백 함수 이해하기  (2) 2017.09.17
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함