windows 에서 curl 사용시 주의할 점
cURL download
windows 에서 curl 을 사용할 때 아래에서 download 를 하면 된다.내 경우는 windows7 64bit 을 사용하고 있어서 아래의 것을 받았다.
- curl-7.45.0-win64-mingw\
받는 방법에 대해서도 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 에도 '(따옴표) 가 찍힌다.
'소소한 개발팁' 카테고리의 다른 글
apply apache poi autoSizeColumn (0) | 2019.10.14 |
---|---|
카카오 스토리 코드리뷰 (0) | 2016.12.27 |
나만 모르고 있던 HTTP/2 (0) | 2016.12.06 |
db 이중화 또는 다중화에 대한 방법중 하나 (0) | 2016.09.11 |
synctoy 파일 동기화? 백업? (0) | 2016.09.09 |