먼저, curl 은 커맨드 라인에서 URL 형태의 리소스를 요청/응답할 수 있는 도구다.

전체 매뉴얼은 커맨드 라인에서 `man curl` 을 호출해 볼 수 있고,
curl 사이트의 문서 페이지(http://curl.haxx.se/docs/manpage.html)에서도 확인할 수 있다.


아래는 몇 가지 옵션을 사용한 유용한 예제이다.

1. 응답을 파일에 쓰기

  $ curl http://example.com/resource > foo.txt

옵션 없이 호출하는 curl 커맨드는 표준 출력으로 응답을 출력하는데,
위와 같이 출력을 리다이렉트해서 파일에 쓸 수 있다.


2. 파일명으로 저장하기

  $ curl -o foo.txt http://example.com/foo.txt

-o 옵션으로 리소스의 파일명을 지정해 다운로드할 수 있다.

  $ curl -O http://example.com/foo.txt

-O 옵션을 사용하는 경우, 리소스의 파일명을 그대로 사용한다.


3. 여러 파일 다운로드 받기

  $ curl -O http://example.com/foo[0-9].txt

위 코드는, foo0.txt 부터 foo9.txt 파일을 다운로드 받는다.

  $ curl -O http://example.com/foo-[a-z][0-9].txt

[]는 여러 번 조합할 수 있고, 위 코드는 foo-a0.txt 부터 foo-z9.txt 까지의 파일을 다운로드 받는다.

  $ curl -O http://example.com/{foo,bar,baz}.txt

중괄호({})를 써서 위와 같이 호출할 수도 있고, foo.txt, bar.txt, baz.txt 를 다운로드 받는다.


4. for 문으로 여러 파일 다운로드 받기

  $ files="foo bar baz"
  $ for name in files; do
       curl -O "http://example.com/${name}.txt"
     done

싱글 라인으로 호출하는 경우, 가끔 제대로 다운로드 받아지지 않는 경우가 있는 것 같다.
왜인지 정확히 살펴보진 않았지만, 위와 같이 for 구문으로 호출하는 방법으로 우회할 수 있다.



덧)
리눅스 기반에서는 curl 대신, wget 이 설치되어 있고, 사용 방법은 대체로 비슷하다.


1. 인스타그램 API 페이지 접속 : http://instagram.com/developer/clients/manage/
2. Register a New Client 클릭
3. 어플리케이션 정보 입력
4. 발급받은 CLIENT_ID와 REDIRECT_URL을 파라미터에 추가하고 접속 : https://api.instagram.com/oauth/authorize/?client_id={CLIENT-ID}&redirect_uri={REDIRECT-URI}&response_type=code
5. REDIRECT_URL로 이동되면서 출력된 code 저장
6. SSH에서 아래 소스를 입력해서 ACCESS_TOKKEN을 포함한 json 데이터를 얻어온다.


curl \-F 'client_id={CLIENT-ID}' \
-F 'client_secret={CLIENT-SECRET}' \
-F 'grant_type=authorization_code' \
-F 'redirect_uri={REDIRECT-URI}' \
-F 'code={CODE}' \https://api.instagram.com/oauth/access_token



7. ACCESS_TOKKEN을 이용해 해시태그{TAG_NAME}에 연결된 이미지 리스트를 불러온다.

https://api.instagram.com/v1/tags/{TAG_NAME}/media/recent?access_token={ACCESS_TOKKEN}

1. 의존성 패키지 설치

yum install gcc gcc-c++

yum install openssl-devel

yum install make


2. node.js 다운로드

wget http://nodejs.org/dist/v0.10.24/node-v0.10.24-linux-x86.tar.gz


3. 압축해제

tar xvzf node-v0.10.24-linux-x86.tar.gz


4. cd node-v0.10.24-linux-x86


5. ./configure --prefix=/usr/local/node-v0.10.1

ex)fpu = 'vfpv3' if armv7 else 'vfpv2' SyntaxError:invalid syntax 발생시

wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz 다운로드후 설치

tar xfz Python-27.3.tgz

./configure --prefix=/usr/local

make -j2

make altinstall


/usr/local/bin/python2.7 -V

mv /usr/bin/python /usr/bin/python.bak

ln -s /usr/local/bin/python2.7 /usr/bin/python

python -V

6. make && make install

+ Recent posts