curl 명령을 사용하여 AOJ에서 자신의 정보를 검색했습니다.

3256 단어 AOJcurlapi

목적



생각보다 힘들었기 때문에 조사한 것의 비망록. API 초보자입니다.
AOJ의 API 참조

실제로 사용한 명령


$ curl -X POST -H "Content-Type: application/json" -d '{"id":"my_name", "password":"my_password"}' https://judgeapi.u-aizu.ac.jp/session

몰랐던 것



AOJ의 API 참조을 읽고
자신의 id와 password를 JSON의 형태로 파라미터로 하는 것 같다.


POST는 무엇입니까?



HTTP 요청 메소드에 따르면,

POST 는 지정한 리소스에 실체를 송신하기 위해서 사용하는 메소드로서, 서버상의 상태를 변경하거나, 부작용이 발생하는 경우가 자주 있습니다.

그러니까 이번 사용하는 것은 POST가 아니고 GET이 아닌가? 라고 생각했습니다만, 이번은 자신의 id와 password를 json 형식으로 파라미터 부여해 요구하기 때문에, POST인것 같다.

끝점은 무엇입니까?



RESTful API URI 디자인 (엔드 포인트 디자인)에 따르면,

엔드포인트는 API에 액세스하기 위한 URI입니다.

같다. ARI는 Uniform Resource Identifier 즉 자원을 식별하기 위한 것. 또한,

비슷한 말에 「엔트리 포인트」라고 하는 것이 있다. 엔트리 포인트란 프로그램이나 서브 루틴의 실행을 개시하는 장소를 말합니다.
즉, 엔드포인트는 API에 액세스하는 측으로부터의, 엔트리 포인트는 액세스 되는 측으로부터의 차이라고 하게 된다.

이번 명령으로 말하는 곳의, API의 말미,/session 의 곳. 이것을 Reference를 보고 임의의 URI로 변경하면 임의의 데이터를 취득할 수 있다.

명령줄의 옵션을 모른다



curl option 추억 보다, 이번 사용한 옵션에 대해 정리해 둔다.
$ curl -X POST -H "Content-Type: application/json" -d '{"id":"my_name", "password":"my_password"}' https://judgeapi.u-aizu.ac.jp/session

ーX



curl은 아무것도 지정하지 않으면 GET 요청을 발행하지만 그것을 변경하고 싶을 때 사용합니다.

같다. 이번에는 POST 요청이므로 -X 필수.

ーH



OAuth 토큰이나 전달할 때 사용하는 옵션.
HTTP의 Request Header에 정보를 추가할 수 있다.

처음 필요 없을까라고 생각했지만 필요했다. 또한 JSON의 MIME 타입에는 이번에는 application/json을 사용했다.

-d



이 옵션을 지정하면 curl은 POST 메소드로 요청을 보냅니다.
여기에 지정된 데이터가 Request Body에 들어갑니다.
key=value 의 형식으로 쓸 필요가 있다.

그래서 이번에는 id와 password를 JSON의 형태로 기술.

요약



AOJ는 API 두드리는 연습에 좋을지도 모른다…

다음은 데이터를 javascript 등으로 취득할 수 있도록 하고 싶다.

좋은 웹페이지 즐겨찾기