웹사이트 검색

Linux에서 'Curl' 명령을 사용하는 방법에 대한 15가지 팁


인터넷이 아직 초기 단계였던 1990년대 중반에 Daniel Stenberg라는 스웨덴 프로그래머가 프로젝트를 시작했는데, 이는 결국 오늘날 curl로 알려진 프로젝트로 성장했습니다.

처음에 그는 웹페이지에서 주기적으로 환율을 다운로드하고 IRC 사용자에게 스웨덴 크로나에 상응하는 미국 달러를 제공하는 을 개발하는 것을 목표로 삼았습니다.

간단히 말해서, 프로젝트는 계속해서 여러 프로토콜과 기능을 추가하면서 번성했으며 나머지는 역사입니다. 이제 두 발로 뛰어들어 Linux에서 컬을 사용하여 데이터 등을 전송하는 방법을 알아봅시다!

우리는 당신을 위해 다음과 같은 15개의 컬 명령 목록을 정리했습니다.

1. 컬 버전 보기

-V 또는 --version 옵션은 버전뿐만 아니라 현재 버전에서 지원되는 프로토콜 및 기능도 반환합니다.

curl --version

curl 7.47.0 (x86_64-pc-linux-gnu) libcurl/7.47.0 GnuTLS/3.4.10 zlib/1.2.8 libidn/1.32 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP UnixSockets 

2. 파일 다운로드

파일을 다운로드하려면 -O 또는 -o 옵션과 함께 curl을 사용할 수 있습니다. 전자는 원격 위치와 동일한 이름으로 현재 작업 디렉터리에 파일을 저장하는 반면, 후자는 다른 파일 이름 및/또는 위치를 지정할 수 있습니다.

curl -O http://yourdomain.com/yourfile.tar.gz # Save as yourfile.tar.gz
curl -o newfile.tar.gz http://yourdomain.com/yourfile.tar.gz # Save as newfile.tar.gz

3. 중단된 다운로드 재개

어떤 이유로(예: Ctrl + c 사용) 다운로드가 중단된 경우 매우 쉽게 재개할 수 있습니다. -C - (대시 C, 공백 대시)를 사용하면 컬이 중단된 부분부터 다운로드를 다시 시작하도록 지시합니다.

curl -C - -O http://yourdomain.com/yourfile.tar.gz

4. 여러 파일 다운로드

다음 명령을 사용하면 http://yoursite.comhttp:/에서 info.htmlabout.html을 다운로드합니다. /mysite.com을 각각 한 번에.

curl -O http://yoursite.com/info.html -O http://mysite.com/about.html 

5. 파일에서 URL 다운로드

curl을 xargs와 결합하면 파일의 URL 목록에서 파일을 다운로드할 수 있습니다.

xargs -n 1 curl -O < listurls.txt

6. 인증 유무에 관계없이 프록시 사용

proxy.yourdomain.com의 포트 8080을 수신하는 프록시 서버 뒤에 있다면 그렇게 하세요.

curl -x proxy.yourdomain.com:8080 -U user:password -O http://yourdomain.com/yourfile.tar.gz

프록시에 인증이 필요하지 않은 경우 -U user:password를 건너뛸 수 있습니다.

7. HTTP 헤더 쿼리

HTTP 헤더를 사용하면 원격 웹 서버가 실제 요청과 함께 자체에 대한 추가 정보를 보낼 수 있습니다. 이는 요청이 처리되는 방법에 대한 세부 정보를 클라이언트에 제공합니다.

웹사이트에서 HTTP 헤더를 쿼리하려면 다음을 수행하세요.

curl -I linux-console.net

이 정보는 브라우저의 개발자 도구에서도 확인할 수 있습니다.

8. 매개변수를 사용하여 POST 요청 만들기

다음 명령은 firstNamelastName 매개변수를 해당 값과 함께 https://yourdomain.com/info.php로 보냅니다. .

curl --data "firstName=John&lastName=Doe" https://yourdomain.com/info.php

이 팁을 사용하여 일반 HTML 양식의 동작을 시뮬레이션할 수 있습니다.

9. 인증 유무에 관계없이 FTP 서버에서 파일 다운로드

원격 FTP 서버가 ftp://yourftpserver에서 연결을 예상하는 경우 다음 명령은 현재 작업 디렉터리에 yourfile.tar.gz를 다운로드합니다.

curl -u username:password -O ftp://yourftpserver/yourfile.tar.gz 

FTP 서버가 익명 로그인을 허용하는 경우 -u 사용자 이름:비밀번호를 건너뛸 수 있습니다.

10. 인증 유무에 관계없이 FTP 서버에 파일 업로드

컬을 사용하여 mylocalfile.tar.gz라는 로컬 파일을 ftp://yourftpserver에 업로드하려면 다음을 수행하세요.

curl -u username:password -T mylocalfile.tar.gz ftp://yourftpserver

11. 사용자 에이전트 지정

사용자 에이전트HTTP 요청과 함께 전송되는 정보의 일부입니다. 이는 클라이언트가 요청을 수행하는 데 사용한 브라우저를 나타냅니다. 현재 컬 버전이 기본값으로 무엇을 사용하는지 살펴보고 나중에 "나는 새 웹 브라우저입니다"로 변경해 보겠습니다.

curl -I http://localhost --user-agent "I am a new web browser"

12. 웹사이트 쿠키 저장

https://www.cnn.com을 탐색할 때 어떤 쿠키가 귀하의 컴퓨터에 다운로드되는지 확인하고 싶으십니까? 다음 명령을 사용하여 cnncookies.txt에 저장하세요. 그런 다음 cat 명령을 사용하여 파일을 볼 수 있습니다.

curl --cookie-jar cnncookies.txt https://www.cnn.com/index.html -O

13. 웹사이트 쿠키 보내기

동일한 사이트에 대한 후속 요청에서 마지막 팁에서 검색된 쿠키를 사용할 수 있습니다.

curl --cookie cnncookies.txt https://www.cnn.com

14. 이름 확인 수정

웹 개발자이고 yourdomain.com의 로컬 버전을 라이브로 푸시하기 전에 테스트하려는 경우 컬이 http://www.yourdomain.com 을 해결하도록 할 수 있습니다. 다음과 같이 로컬 호스트에:

curl --resolve www.yourdomain.com:80:localhost http://www.yourdomain.com/

따라서 http://www.yourdomain.com에 대한 쿼리는 DNS 또는 /etc/hosts 파일을 사용하는 대신 localhost에서 사이트를 요청하도록 컬에 지시합니다.

15. 다운로드 속도 제한

컬이 대역폭을 낭비하는 것을 방지하려면 다음과 같이 다운로드 속도를 100KB/s로 제한할 수 있습니다.

curl --limit-rate 100K http://yourdomain.com/yourfile.tar.gz -O
요약

이 글에서 우리는 컬의 기원에 대한 간략한 역사를 공유하고 15가지 실제 사례를 통해 컬의 사용 방법을 설명했습니다.

이 기사에서 놓쳤을 수 있는 다른 컬 명령을 알고 계십니까? 댓글을 통해 커뮤니티와 자유롭게 공유해 주세요! 또한 질문이 있으시면 언제든지 알려주시기 바랍니다. 여러분의 의견을 기다리겠습니다!