본문 바로가기
개발

[Windows] Windows CURL 사용법

by seaweed_one 2024. 2. 5.
728x90

안녕하세요~ 

오늘은 windows 환경에서 crul을 사용하는 방법에 대해 알아보려고 합니다.

저는 보통 리눅스 환경에서 개발을 하기때문에 windows에서 curl을 사용할 일이 없습니다.

오랜만에 사용하려니 많이 헷갈려 저 같은 분들께 조금이나마 도움이 될 수 있도록 간단한 사용법을 공유해 봅니다!

 

1. windows10 이상에서는 curl 내장

대부분의 경우 windows10 이상을 쓰고 계실 것이라고 생각하고 설치 방법을 적지는 않겠습니다.

curl 버전을 확인해 봅시다.

C:\Users\seawe>curl -V
curl 8.4.0 (Windows) libcurl/8.4.0 Schannel WinIDN
Release-Date: 2023-10-11
Protocols: dict file ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp
Features: AsynchDNS HSTS HTTPS-proxy IDN IPv6 Kerberos Largefile NTLM SPNEGO SSL SSPI threadsafe Unicode UnixSockets

 

 

2. cURL 은 cmd에서 사용

왜 cmd 에서 사용해야 하냐고요?

powerShell의 경우 curl 호출 시 Invoke-WebRequest로 호출되도록 Alias 가 설정되어 있습니다.

해서 curl과 같은 명령어 사용 시 아래와 같이 표시됩니다. 

PS C:\Users\seawe> curl -V

cmdlet Invoke-WebRequest(명령 파이프라인 위치 1)
다음 매개 변수에 대한 값을 제공하십시오.
Uri:

 

물론 crul.exe 파일을 직접 호출하거나, Alias 를 제거한다면 사용이 가능하지만, 매우 번거로우므로 웬만하면 cmd 창에서 사용해 주세요.

하지만 꼭 powerShell에서 사용하셔야겠다는 분들이 계시다면 아래와 같이 사용하시면 됩니다.

PS C:\Users\seawe> curl.exe -V
curl 8.4.0 (Windows) libcurl/8.4.0 Schannel WinIDN
Release-Date: 2023-10-11
Protocols: dict file ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp
Features: AsynchDNS HSTS HTTPS-proxy IDN IPv6 Kerberos Largefile NTLM SPNEGO SSL SSPI threadsafe Unicode UnixSockets

 

아래 + 버튼으로 창을 생성하면 기본적으로 powerShell로 실행되니 꼭 두 번째 사진과 같이 명령프롬프트를 실행해 주세요.

 

 

3. 사용 시 ' '(작은따옴표) 대신 " "(큰따옴표) 이용

리눅스에서는 curl 사용 시 작은따옴표를 사용합니다.

하지만 windows에서 아래와 같이 사용 시 에러가 발생합니다.

//linux 
[root@67-170-m-rocky8 ~]# curl -X 'GET'  'http://192.168.4.67:32100/assets/'  -H 'accept: application/json'
[{"asset_id":1,"name":"asset1"},{"asset_id":2,"name":"asset2"}]


//windows
C:\Users\seawe>curl -X 'GET'  'http://192.168.4.67:32100/assets/'  -H 'accept: application/json'
curl: (3) URL rejected: Port number was not a decimal number between 0 and 65535
curl: (6) Could not resolve host: application

 

windows  환경에서는 작은따옴표를 큰따옴표로 변경해 사용해 주세요.

C:\Users\seawe>curl -X "GET"  "http://192.168.4.67:32100/assets/"  -H "accept: application/json"
[{"asset_id":1,"name":"asset1"},{"asset_id":2,"name":"asset2"}]

 

 

역시 저는 익숙해서인지 리눅스 환경이 훨씬 편하네요!

그럼 오늘도 즐거운 개발 하세요~ 

 

 

 

728x90