windows 에서 curl 사용시 주의할 점
update, windows 10 에서는 기본적으로 들어가 있다.
cURL download
windows 에서 curl 을 사용할 때 아래에서 download 를 하면 된다.
내 경우는 windows7 64bit 을 사용하고 있어서 아래의 것을 받았다.
- curl-7.45.0-win64-mingw
받는 방법에 대해서도 Stack Overflow 에 나와 있다.받는 부분이 산만하다. - How do I install/set up and use cURL on a Windows? - Stack Overflow
curl 구문에서 따옴표를 주의하자
여하튼 중요한 것은 그것이 아니고, curl 로 나온 예제를 따라한다고 web page 에 있는 명령어를 그대로 복사해서 실행했더니 결과가 제대로 나오지 않았다. 물론 예제는 linux 를 기본으로 설명하고 있었다.
$> curl -X POST -H "Content-Type: application/json" -d '{"username":"user1","password":"user1"}' http://localhost:8080/api-token-auth/
그래서 보니 packet 을 잡아서 보니, "(쌍따옴표) 가 제대로 먹지 않았고, '(따옴표) 도 그대로 들어가 있었다. 그래서 아래처럼 수정했다. 그랬더니 결과가 잘 나왔다.
D:\Program Files\curl\bin>curl -X POST -H "Content-Type: application/json" -d "{\"username\":\"user1\",\"password\":\"user1\"}" http://localhost:8080/api-token-auth/
묶을 때 '(따옴표) 대신에 "(쌍따옴표) 를 쓰고, "(쌍따옴표) 내부의 쌍따옴표는 \ 를 이용한다.혹시 비슷한 실수를 하는 사람이 있을까 하여 작성 해 놓는다.
"(쌍따옴표) 안에서 '(따옴표) 를 사용하기
아래에서 방법을 찾았다.
\u0027 사용
한가지 방법은 \u0027 를 사용하는 것이다.
'(따옴표) 가 동작하지 않는다.
c:\>curl -X POST -H "Content-Type: application/json" -d "{\"username\":\"user1\",\"password\":\"user1\" \"msg\": \"hello it's good\"}" http://localhost:8080/api-token-auth/
아래처럼 하면 된다.
c:\>curl -X POST -H "Content-Type: application/json" -d "{\"username\":\"user1\",\"password\":\"user1\" \"msg\": \"hello it\u0027s good\"}" http://localhost:8080/api-token-auth/
이경우에 날아가는 packet 에도 그대로 \u0027 로 박혀서 날아간다.
file 을 이용하는 방법
c:\>curl -X POST -H "Content-Type: application/json" -d "{\"username\":\"user1\",\"password\":\"user1\" \"msg\": \"hello it's good\"}" http://localhost:8080/api-token-auth/
아래처럼 사용하면 된다.
c:\>curl -X POST -H "Content-Type: application/json" --data @data.json https://localhost:8080/api-token-auth/
//data.json
"{"username":"user1","password":"user1" "msg": "hello it's good"}"
이 방법은 packet 에도 '(따옴표) 가 찍힌다.
한글 encoding
참고로 한글같은 경우 percentage encoding 을 적용하고 날리면 된다.
file upload
curl -X POST -F "param1=value1" -F "param2=value2" -F "param3=value3" -F "param4=value4" -F "file=@f:\4621622.jpg" http://localhost:5000/fileuploadtest
진정 고맙습니다. ㅠ_ㅠ
답글삭제정말 감사드립니다. ㅠ_ㅠ
답글삭제와 이것때문에 계속 고생하고 있었는데ㅠㅠㅠ정말 감사합니다!!!
답글삭제넘넘 감사합니다...
답글삭제감사합니다. 잘못 나와있는 곳도 있던데 여기서 참고해서 많이 배웠습니다. 잘 되네요
답글삭제음... 이것 때문에 한 시간째 헤매고 있었는데 감사합니다.
답글삭제감사합니다
답글삭제