paint-brush
cURL 소개: 가장 인기 있는 HTTP 클라이언트~에 의해@brightdata
새로운 역사

cURL 소개: 가장 인기 있는 HTTP 클라이언트

~에 의해 Bright Data6m2024/07/29
Read on Terminal Reader

너무 오래; 읽다

CURL은 SSL 지원, 프록시 터널링, 헤더 구성 및 쿠키 관리와 같은 기능을 자랑하는 명령줄 도구이자 libcurl이라는 라이브러리입니다. cURL은 Linux, macOS 및 Windows에 사전 설치되어 있어 명령줄에서 웹 요청을 위한 유용한 도구입니다.
featured image - cURL 소개: 가장 인기 있는 HTTP 클라이언트
Bright Data HackerNoon profile picture
0-item

웹 개발자 여러분, 키보드를 꽉 잡으세요! 툴킷에 cURL 기능이 없으면 게임에서 가장 강력한 도구 중 하나를 놓칠 수 있습니다. cURL은 단순한 CLI 기반 HTTP 클라이언트가 아닙니다. 명령줄 HTTP 클라이언트입니다!


cURL의 핵심을 탐험하는 여정에 동참하세요. 여기서 cURL의 신비를 밝혀내고, 기능을 탐색하며, 전문가처럼 사용할 수 있는 지식을 얻을 수 있습니다. cURL의 진정한 힘을 발휘할 준비가 되셨나요? 하자 롤!

cURL이란 무엇입니까?

"URL용 클라이언트"의 약자인 cURL은 명령줄 도구와 libcurl이라는 라이브러리를 포함하는 소프트웨어 프로젝트입니다. 이 듀오는 다양한 네트워크 프로토콜에서 URL 구문을 사용한 데이터 전송을 전문으로 합니다. libcurl은 SSL 지원, 프록시 터널링, 헤더 구성 및 쿠키 관리와 같은 기능도 자랑합니다.


libcurl이 지원하는 전체 프로토콜 목록을 탐색하는 것은 마치 디지털 알파벳 수프를 탐색하는 것처럼 느껴집니다. 여기에는 HTTP, HTTPS, FTP, SFTP, IMAP, POP3, SMTP, MQTT 등 수십 가지가 포함됩니다. 목록이 너무 길어서 일부는 들어본 적도 없을 것입니다. 그렇다면 혼자가 아니니 안심하세요! 😜


cURL이 개발자들 사이에서 록스타 지위를 획득한 이유는 무엇입니까? 그것은 크로스 플랫폼 능력에 관한 것입니다! PHP, Python, Java 등 다양한 프로그래밍 언어에서 사용할 수 있는 libcurl 바인딩을 통해 cURL은 다양한 기술 스택에 원활하게 통합됩니다. 인기는 편재성에 있습니다. cURL은 Linux, macOS 및 Windows에 사전 설치되어 있어 모든 컴퓨터의 터미널에서 바로 사용할 수 있는 웹 요청 도구입니다.


웹 콘텐츠 검색, API 테스트, 파일 업로드 등 cURL은 모든 웹 개발자의 툴킷에서 필수적인 도구로 우뚝 서 있습니다. 비교할 수 없는 유연성과 효율성을 따라올 수 있는 것은 없습니다. 🚀

cURL 실행: 구문 및 예

툴킷에 cURL이 있는데 어떻게 사용하나요? 단순한! 다음 구문에 따라 터미널에서 명령을 실행하세요.

 curl [options] [URL]

URL 은 대상(타겟팅하는 온라인 서버 또는 리소스)이며, 몇 가지 일반적인 cURL 옵션은 다음과 같습니다.

  • -X 또는 --request : 사용할 HTTP 방법을 설정합니다.

  • -d 또는 --data : 요청 본문에 데이터를 추가합니다.

  • -b 또는 --cookie : 요청에 대한 쿠키를 관리합니다.

  • -H 또는 --header : 요청에 사용자 정의 헤더를 추가합니다. 헤더가 여러 개인 경우 옵션을 여러 번 반복하세요. 기본적으로 GET .

  • -v 또는 --verbose : 디버깅을 위한 자세한 정보를 인쇄합니다.


사용 가능한 모든 옵션을 알아보려면 문서를 확인하세요 🔎


⚠️ 참고 1 : 명령줄 curl 옵션은 민감하므로 주의하세요. 따라서 -x-X 두 가지 다른 의미를 갖습니다.


⚠️ 참고 2 : PowerShell에서 curl Invoke-Request 의 별칭입니다. Windows에서 cURL을 사용하려면, curl 대신에 curl.exe 작성하세요.


이제 HTTP 메서드 별로 분류된 실제 사례에서 cURL 구문이 실제로 작동하는 모습을 볼 준비를 하세요!

얻다

cURL을 사용하여 대상 웹페이지의 소스 HTML을 가져오는 방법은 다음과 같습니다.

 curl "https://example.com/"


내부적으로 cURL은 GET 요청을 만들고 https://example.com/ 웹 페이지와 연결된 HTML 문서를 가져와 터미널에서 인쇄합니다.


단일 명령으로 정보를 검색했습니다. 인상적이지 않나요? 🔥

우편

아래 cURL POST 예제는 새 사용자를 생성하는 데 필요한 JSON 데이터를 사용하여 https://api.example.com/users 엔드포인트를 호출합니다.

 curl -X POST -H "Content-Type: application/json" -d '{"name": "John", "age": 30}' "https://api.example.com/users"


원하는 HTTP 메소드를 지정하려면 -X 옵션을 확인하세요. Content-Type 헤더를 설정하는 -H 옵션과 문자열에 원시 JSON 데이터를 지정하는 -d 옵션의 사용에도 주의하세요. 전용 cURL POST 요청 가이드를 확인하세요!

놓다

cURL PUT 호출은 다음 구문을 따릅니다.

 curl -X PUT -d "name=Amazon%20Scraping&description=Automated%20data%20extraction%20for%20retrieving%20price%20data&status=completed" "https://api.example.com/projects/12"


HTTP 요청은 제공된 데이터를 사용하여 ID 12로 프로젝트를 업데이트합니다. 이 예에서 요청 본문의 데이터는 위의 cURL POST 호출에 사용된 JSON 본문과 달리 application/x-www-form-urlencoded 형식입니다. 데이터 형식의 이러한 유연성은 다양한 사용 사례에 대한 cURL의 적응성을 보여줍니다.

반점

온라인 리소스의 단일 필드를 업데이트하기 위해 cURL에서 PUT 요청을 수행하고 싶으십니까? 방법은 다음과 같습니다.

 curl -X PATCH -d "status=failed" "https://api.example.com/projects/12"

삭제

cURL을 사용하면 아래와 같이 DELETE 요청을 수행하고 기존 엔터티의 존재를 지울 수 있습니다.

 curl -X DELETE https://api.example.com/user/431


이 API 호출 후에는 ID 431을 가진 사용자가 더 이상 존재하지 않습니다!

고급 cURL 옵션

cURL은 다양한 옵션을 제공하며 각 옵션은 복잡한 사용 사례에 대한 고유한 기능을 제공합니다. 해당 우주를 탐색할 때 특정 고급 옵션이 눈에 띕니다. 가장 유용한 상위 10가지 고급 cURL 옵션은 다음과 같습니다.


  • -o 또는 --output :<stdoud> 대신 지정된 로컬 파일에 출력을 씁니다.
  • -O 또는 --remote-name : 출력을 원격 파일에 저장합니다.
  • -i 또는 --include : 출력에 응답 HTTP 헤더를 포함합니다.
  • -u 또는 --user : user user:password 이름과 비밀번호로 인증합니다.
  • -L 또는 --location : 서버가 3XX 응답 코드 로 응답할 때 리디렉션을 따릅니다.
  • -e 또는 --referer : “Referrer Page” 정보를 HTTP 서버로 보냅니다.
  • -x 또는 --proxy : 요청할 프록시 서버의 URL을 지정합니다. 자세한 내용은 프록시와 함께 cURL을 사용하는 방법 에 대한 튜토리얼을 읽거나 아래 비디오를 시청하세요.
  • --rate : 속도 제한 조치가 실행되지 않도록 cURL이 준수할 최대 전송 빈도를 지정합니다.
  • --data-binary : 추가 처리 없이 지정된 대로 정확하게 서버에 데이터를 보냅니다.
  • --compressed : 압축된 응답을 요청하고 응답 콘텐츠의 압축을 자동으로 푼다.


이러한 옵션을 익히면 끊임없이 진화하는 웹 상호 작용 영역에서 비교할 수 없는 기교로 cURL을 사용할 수 있습니다. 🌐

cURL을 최대한 활용하는 방법

cURL은 웹 요청을 위한 강력한 도구이지만 기본 설정으로 인해 안티봇 조치에 취약해집니다. 예를 들어 기본 User-Agent 헤더를 고려해보세요.

 curl/XYZ


cURL 사용자 에이전트 값을 변경하는 방법을 참조하세요.


이제 이를 최신 Chrome의 사용자 에이전트와 비교해 보세요.

 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36

그것은 아주 다른 문자열입니다!


해당 헤더를 재정의하지 않고 cURL을 사용하는 것은 대상 서버에 “나를 봐! 저는 브라우저가 아닌 자동화된 로봇 요청입니다!”

당연히 방어 메커니즘이 촉발될 수도 있습니다 😅. 또한 cURL은 단지 HTTP 클라이언트일 뿐이라는 사실을 잊지 마세요. 따라서 렌더링이나 데이터 검색을 위해 JavaScript를 사용하는 페이지를 처리할 수 없습니다.


👎 웹 스크래핑에 cURL을 사용하려는 경우에는 좋지 않습니다!👎


그렇다면 cURL 사용을 중단해야 할까요? 별말씀을요! 올바른 도구를 갖추기만 하면 됩니다! cURL의 잠재력을 최대한 활용하고 한계를 해결하려면 다음과 통합하세요.


  • 웹 프록시 : 각 요청마다 새롭고 지리적으로 위치하며 신뢰할 수 있는 IP를 얻기 위해 또는
  • 웹 잠금 해제 도구 : 봇 탐지 기술을 우회하면서 공개 정적 또는 JavaScript 종속 웹 페이지에 액세스합니다.


귀하의 결정이 무엇이든 Bright Data가 귀하를 대신해 드립니다! 시장에서 가장 크고 가장 안정적인 프록시 네트워크 중 하나를 갖춘 Bight Data는 전 세계에 수백만 대의 프록시 서버를 보유하고 있습니다. 또한 Web Unlocker 솔루션을 사용하면 봇 보호 수준에 관계없이 cURL을 통해 모든 공개 웹사이트에 액세스할 수 있습니다.

결론

HTTP 클라이언트의 핵심인 cURL은 개발자가 터미널에서 웹 요청을 수행할 때 꼭 사용하는 도구입니다. 여기에서는 일반적인 HTTP 메서드의 사용법을 익히고 다양한 옵션을 살펴보았습니다. 이는 강력한 도구이지만 실제로는 대부분의 사이트에서 귀하가 cURL을 통해 연락하고 있음을 감지할 수 있습니다.


두려워하지 마세요! 해결책은 간단합니다. 웹 프록시의 도움을 받거나 최적의 결과를 얻으려면 Bright Data 의 Web Unlocker 솔루션을 채택하십시오. 강력한 cURL을 통해서도 모든 사람이 어디서나 액세스할 수 있도록 인터넷을 민주화하려는 우리의 사명에 동참하세요!


다음 시간까지 자유롭게 웹을 탐색해 보세요!