아래 링크의 지침에 따라 Django 애플리케이션 용 REST API를 성공적으로 빌드했습니다. http://django-rest-framework.org/tutorial/quickstart .
Unix 프롬프트에서 다음을 수행하여 테스트 할 수 있습니다.
curl -H 'Accept: application/json; indent=4' -u root:myPassword http://www.myWebsite.com/users/
효과가있다 🙂
그러나 Chrome 확장 프로그램 Advanced Rest Client를 사용하여 동일한 기능을 테스트하고 싶습니다. 확장 프로그램을 설치했지만 필드를 어디에 / 어떻게 넣을지 모르겠습니다. (스크린 샷에서 볼 수 있듯이) 내 추측을 할 때 “인증 자격 증명이 제공되지 않았습니다”라는 메시지가 거부됩니다.
REST API에 대한 매개 변수를 어떻게 / 어디에 지정해야합니까?
답변
검색 가능성은 음울하지만 Advanced Rest Client가 기본 인증을 처리하는 방법은 매우 영리합니다. 아브라함이 언급 한 지름길은 나에게는 효과가 없었지만, 조금 훑어 보면 어떻게 작동하는지 알 수 있습니다.
가장 먼저해야 할 일은 Authorization
헤더를 .
그런 다음 초점을 맞출 때 멋진 작은 것이 나타납니다. value
입력에 (오른쪽 하단의 “construct”상자에 유의하십시오).
클릭하면 상자가 나타납니다. 원하는 경우 OAuth도 수행합니다!
타다! “construct”를 클릭 할 때 값 필드를 비워두면 해당 Basic
부분 이 추가 됩니다 (필자는 필요한 OAuth 항목도 추가 할 것이라고 가정하지만 현재 요구 사항은 기본 사항이므로 시도하지 않았습니다. 인증)이므로 아무것도 할 필요가 없습니다.
답변
스크린 샷에서 “user”및 “password”값을 서비스에 전달하려는 것을 알 수 있습니다. 잘못된 요청 헤더 부분에 매개 변수 값을 전송했습니다. 값은 요청 헤더가 아닌 요청 본문으로 전송됩니다. 또한 구문이 잘못되었습니다. 올바른 구문은 다음과 같습니다. {"user":"user_val","password":"password_val"}.
또한 콘텐츠 유형이 무엇인지 확인합니다. 서비스에 설정 한 콘텐츠 유형과 일치해야합니다.
답변
이것은 매우 오래된 질문으로 보이지만 다른 사람들에게 도움이 될 수 있도록 답변을 제공하고 있습니다. 아래에 표시된대로 양식 섹션의 두 번째 화면에서 변수를 지정하거나 두 번째 이미지에 표시된대로 변수를 추가하여 RAW 형식으로 지정할 수 있습니다.
변수 및 변수 값이 유효하면 응답 섹션에 성공적인 응답이 표시되어야합니다.
답변
기본 인증에 일반적으로 사용되는 바로 가기 형식은 http://username:password@example.com/path
. 요청에 수락 헤더도 포함 할 수 있습니다.
답변
헤더 섹션에 작성해야
인증 : 기본 aG9sY67890vbGNpbQ ==
여기서 기본 뒤의 문자열은 사용자 이름 : 암호의 64 비트 인코딩 값입니다. 헤더 값을 가져 오는 PHP 예제는 다음과 같습니다. echo “Authorization : Basic”. base64_encode ( “myUser : myPassword”);
nb : 인증 방법을 기본으로 가정했습니다. 다를 수 있습니다.