cURL
cURL 프로젝트(https://curl.se/)에서 개발된 바이너리 실행 파일로, http, https, ftp, sftps, smtp, telnet 와 같이 다양한 프로토콜을 이용하여 데이터를 전송하기 위한 라이브러리와 명령 줄 도구를 제공한다. 파일 업/다운로드 등에도 사용되며, 서버 간 네트워크 연결 상태를 확인할 수도 있다.
캐리지리턴(CR)이 발생할 경우 제거
curl을 이용해서 shell script 를 수행하는 경우 긴 curl 명령어를 변수에 넣거나 파일로 쓸 때 캐리지리턴 값이 발생해서 라인 처음 부분이 문자열이 덮어씌어지는 경우가 있다. 이럴 때는 tr 명령을 이용해서 캐리지리턴 값을 제거해준다.
tr "\015" "\n" < inputfile > outputfile
수행시간을 측정하고 싶은 경우 -w 옵션을 사용
### 사용 예제
curl -w %{time_total}\\n -X PUT -G ...
파라미터와 주소값은 홑따옴표( ' , single quote) 나 겹따옴표로 처리
curl 명령의 헤더 정보, 플래그, 대상 URL 등을 홑따옴표나 겹따옴표 없이 플레인 텍스트(Plain text)로 처리할 경우, 파라미터를 제대로 인식하지 못하는 경우가 많다. 또한 '$' 로 시작하는 리눅스 환경변수들을 사용할 경우에는 환경변수를 인식하기 위해서 겹따옴표를 사용하자.
대상 서버에서 Redirect 를 사용하는 경우 '--location' 플래그를 사용
curl 의 대상 서버에서 Redirect 설정을 사용하는 경우, 별도의 플래그 없이 curl을 사용하면 301, 302, 307, 308 redirect 코드를 리턴받는다. 이 때 실제 redirect 되는 서버로 따라가서 response를 받아오지 않고 바로 돌아오기 때문에, curl의 옵션 중 ''--location' 옵션을 사용해서 리다이렉트 된 곳을 따라가서 리턴 값을 받아오도록 해야한다. 추가 플래그인 --max-redirs 뒤에 숫자로 redirection 을 몇 번 따라갈지 지정할 수 있으며 기본 값은 50이다.
'소프트웨어 아키텍처 > Linux' 카테고리의 다른 글
[Linux] Rhel, fedora 환경에 인증서 추가하기 (0) | 2021.11.04 |
---|---|
[Linux] cat 명령을 사용해서 텍스트 파일 만들기 (0) | 2021.11.04 |
git 변경사항 커밋 전에 수정/취소하기 (0) | 2021.09.23 |
Linux shell script : 입력값 검증과 help 문구 (0) | 2021.09.09 |
Linux 활용 : sed 명령어를 이용하여 텍스트 파일 치환 (0) | 2021.09.05 |
댓글