개발자를 위한 필수 cURL 명령

6150 단어 curlcommandslinuxbash
이 게시물은 Java 개발자로서 사용하는 cURL 명령에 대한 빠른 참조를 제공합니다. 이것은 각 명령이 수행하는 작업에 대한 자세한 설명이 있는 완전한 cURL 명령 세트가 아닙니다. cURL 명령의 다양한 옵션 및 인수에 대한 자세한 문서를 읽으려면 cURL 명령의 매뉴얼 페이지를 참조하십시오.

또한 서버에 대한 HTTP 요청을 호출할 수 있는 Eclipse 및 IntelliJ와 같은 여러 REST 클라이언트 및 IDE가 있지만 디버그 프로세스의 일부로 명령줄에서 이러한 호출을 수행해야 하는 경우가 더 많습니다. 또한 터미널을 열고 이러한 명령을 사용하여 명령을 호출하는 것이 IDE 또는 기타 UI 애플리케이션에서 다양한 유형의 요청에 대한 구성을 설정하는 것보다 더 빠릅니다.

이 참조를 사용하여 cURL 명령을 배우고 기술 세트의 일부로 중요한 도구로 추가하십시오.

도움말 및 정보 명령



도움말을 찾거나 curl 명령의 일부로 사용되는 다양한 옵션 및 인수에 대해 자세히 알아보려면 터미널에 다음 중 하나를 입력하면 됩니다.

# Display quick help information about the curl command
$ curl --help

# Quick search for specific curl options or arguments
$ curl --help | grep {search_value}

# Display the manual page for the curl command
$ man curl

# Displays information about curl and the libcurl version it uses.
$ curl --version
$ curl -V


일반적인



이 섹션에는 다른 섹션에 나열된 더 많은 옵션과 인수를 추가할 수 있는 기본 curl 명령이 포함되어 있습니다.

# Retrieve content of URL and display it on screen
$ curl {URL}

# Write output to a file instead of stdout.
$ curl {URL} > {filename}
$ curl -o {filename} {URL}

# Write output to a local file named like the remote file we get
$ curl -O {URL}

# Enables verbose detail to be displayed
$ curl -v {URL}

# Enables a full trace dump on all incoming and outgoing data.
$ curl --trace {filename} {URL}

# Silent Mode: Don’t show progress meter or error messages.
$ curl -s {URL}


HTTP 헤더



HTTP 헤더는 HTTP(Hypertext Transfer Protocol)에 대한 메시지 헤더의 요청 및 응답 메시지에 표시되는 이름 또는 값 쌍입니다. 이 명령은 HTTP 헤더를 설정하고 읽는 데 도움이 됩니다.

# Fetch the headers from the server (HEAD)
$ curl -I {URL}

# Include the HTTP-header in the output
$ curl -i {URL}

# Pass multiple headers as part of the request to the server.
$ curl -H "{HTTP General Header}" -H "{HTTP Request Header}" {URL}

# Include custom HTTP Header in the request to the server.
$ curl -H "{X-Key}:{Value}" {URL}

# Write the received protocol headers to the specified file.
$ curl -D {filename} {URL}


HTTP 쿠키



HTTP 쿠키는 웹사이트에서 전송되어 사용자가 탐색하는 동안 사용자의 웹 브라우저에 의해 사용자의 컴퓨터에 저장되는 작은 데이터 조각입니다. 이 명령은 HTTP 쿠키를 설정하고 읽는 데 도움이 됩니다.

# Write all cookies to filename after completed command.
$ curl -c {filename} {URL}

# Read cookies from file and pass data to HTTP Server in Cookie header. 
$ curl -b {filename} {URL}

# Read cookies from data (key:value) and pass to HTTP Server in Cookie header.
$ curl -b "{key1:value1;key2:value2}" {URL}

# Discard all "session cookies". New session started.
$ curl -j {URL}


대리



프록시 서버는 다른 서버에서 리소스를 찾는 클라이언트의 요청에 대해 중개 역할을 하는 서버입니다. 이 명령은 프록시 서버 URL 및 포트 번호를 설정하고 인증을 설정하는 데 도움이 됩니다.

# Use the specified proxy server and port number
$ curl -x {proxy_url}:{port} {URL}

# Specify the user name and password to use for proxy authentication.
$ curl -U {username}:{password} - x {proxy_url}:{port} {URL}

# Comma-separated list of hosts which do not use a proxy
$ curl --noproxy {url1} -x {proxy_url}:{port} {URL}


FTP 서버



파일 전송 프로토콜(FTP)은 컴퓨터 네트워크에서 클라이언트와 서버 간에 컴퓨터 파일을 전송하는 데 사용되는 표준 네트워크 프로토콜입니다. 이러한 명령은 FTP 서버와 파일을 주고 받는 데 도움이 됩니다.

# Display a directory listing of an FTP site (Anonymous)
$ curl {FTP_URL}

# Retrieve a file from a FTP site. (Anonymous)
$ curl {FTP_URL}/{filename} 

# Upload a file to a FTP site. (Anonymous)
$ curl -T {filename} {FTP_URL}

# Upload Files to an FTP Server. (Secured)
$ curl -u {ftpuser}:{ftppass} -T {filename} {FTP_URL}

# Upload multiple files to an FTP Server
$ curl -u {ftpuser}:{ftppass} -T "{file1,file2}" {FTP_URL}

# Upload a file to a FTP site and append to an existing file
$ curl -T {filename} -a {FTP_URL}/{filename}


HTTP 포스트/풋 데이터



HTTP POST 및 PUT 요청 메서드는 웹 서버가 요청 메시지의 본문에 포함된 데이터를 수락하도록 요청합니다. 이 명령은 데이터를 요청의 일부로 묶는 방법을 보여줍니다.

# Send data in a POST/PUT request to the HTTP server
$ curl -d '{key1=value1&key2=value2}' -X {POST/PUT} {URL}

# Send data from a file in a POST/PUT request to the HTTP server
$ curl -d {@filename} -X {Post/PUT} {URL}


REST API



RESTful API는 GET, PUT, POST 및 DELETE 데이터에 대한 HTTP 요청을 사용하는 애플리케이션 프로그램 인터페이스(API)입니다. 다음 명령은 다양한 HTTP 메서드로 REST API를 호출하는 방법을 보여줍니다.

# Invoke REST API (GET & JSON)
$ curl -i -H "Content-Type: application/json" -X GET {REST_API}

# Invoke REST API (POST & JSON)
$ curl -i -H "Content-Type: application/json" -X POST -d '{key:value}' {REST_API}

# Invoke REST API (PUT & JSON)
$ curl -i -H "Content-Type: application/json" -X PUT -d '{key:value}' {REST_API}

# Invoke REST API (POST)
$ curl -X DELETE {REST_API}/{ID}


보안



서버에 대해 curl 명령을 인증하는 방법에는 여러 가지가 있습니다. 다음은 인증을 수행하는 몇 가지 방법입니다.

# Authenticate with username and password
$ curl -u {username}:{password} {URL}

# Authenticate with SSL certificate and password
$ curl --cert {cert_file.pem}:{password} {URL}


구성 파일



curl 구성 파일의 이름은 .curlrc(Linux) 또는 _curlrc(Windows)이며 사용자의 홈 디렉토리에서 찾을 수 있습니다.

파일 및 항목의 예는 다음과 같습니다.

# The default Proxy and port to use
proxy = 127.0.0.1:8080
# The proxy username and password
proxy-user = "user:pass"
# The timeout is set to 60 seconds
-m 60


요약



이 기사에 나열된 curl 명령은 결코 완전한 curl 명령 세트가 아니며 개발자가 사용할 빠른 참조 역할만 합니다. curl 명령의 전체 설명서를 보려면 curl 명령의 매뉴얼 페이지를 읽어보십시오.

다양한 소셜 미디어 플랫폼에서 저를 팔로우하고 자유롭게 댓글을 남겨주세요.

좋은 웹페이지 즐겨찾기