티스토리 뷰
- 주소 문자열과 요청 파라미터 다루기
웹사이트에 접속하기 위한 사이트 주소 정보는 노드에서 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
링크
TAG
- Algorigm
- 백준알고리즘
- 백준
- 초보자를 위한 C언어 300제
- MVC
- Controller
- programming
- 개발하는 관광이
- 학교
- BFS
- C langauge
- 감자코딩
- Spring
- 코드엔진
- 텐서플로우
- db
- 머신러닝
- C언어
- 리버싱
- node
- 프로그래밍
- 알고리즘
- node.js
- 복습
- 노드
- 안드로이드
- Android
- 감자개발자
- 스프링
- TensorFlow
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함