romtech 8월 24일에 포스트됨 공유하기 8월 24일에 포스트됨 rest api 프로젝트가 있어서 델파이를 새로구입했는데 처음하는거라 무엇이 문제인지 몰라 문의 들입니다. cmd창에서 아래의 문구를 입력하면 토큰 응답이 옵니다. curl -k -d "grant_type=client_credentials" -H "Authorization: Basic b2w7ZFQ4RG9KS2ALRnpJS1ZsQ1U2X1lsMUg4YTpVU1FNMnFEanArcjFTbkdwZVVpTjBQbUhSVThh" https://190.10.8.184:8243/token 그리고 웹브라우저의 확장프로그램인 postman 에서도 토큰 응답이 옵니다.(rest api 테스트용 프로그램) postman 에서 POST 선택하고 url 입력란에 https://190.10.8.184:8243/token Header 입력란에 Authorization Value입력란에 Basic b2w7ZFQ4RG9KS2ALRnpJS1ZsQ1U2X1lsMUg4YTpVU1FNMnFEanArcjFTbkdwZVVpTjBQbUhSVThh x-www-form-urlencoded 텝을 선택하고 Key입력란에 grant_type Value입력란에 client_credentials SEND 누르면 응답이 옵니다. REST Debugger 10.5 에서 POST 선택하고 url 입력란에 https://190.10.8.184:8243/token Content-Type에서 application/x-www-form-urlencoded 선택하고 Custom body 입력란에 {"grant_type":"client_credentials"} Parameters 텝을 선택하고 Request Parameters 입력란에 kind에 HEADER 선택 Name에 Authorization 선택 하고 Value에 Basic b2w7ZFQ4RG9KS2ALRnpJS1ZsQ1U2X1lsMUg4YTpVU1FNMnFEanArcjFTbkdwZVVpTjBQbUhSVThh SEND 누르면 에러 납니다. - 응답 400 버튼을 만들어 실행해도 에러가 납니다. procedure TForm4.Button1Click(Sender: TObject); var JSON: TJSONObject; Token: string; begin JSON := TJSONObject.Create; JSON.AddPair('grant_type', 'client_credentials'); RESTClient1.BaseURL := 'https://190.10.8.184:8243/token'; RESTRequest1.Method := rmPOST; RESTRequest1.Params.AddItem('Authorization', 'Basic b2w7ZFQ4RG9KS2ALRnpJS1ZsQ1U2X1lsMUg4YTpVU1FNMnFEanArcjFTbkdwZVVpTjBQbUhSVThh'); RESTRequest1.Body.Add(JSON); RESTRequest1.Execute; Memo1.Lines.Text := RESTResponse1.Content; if RESTResponse1.JSONValue.TryGetValue<string>('access_token', Token) then edtToken.Text := Token; end; 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
0 Miniuser 8월 25일에 포스트됨 공유하기 8월 25일에 포스트됨 (edited) 인코딩이 적용되지 않게 TRestRequest.Params.AddItem 부분을 다음과 같이 설정하고 한번 테스트해보시겠어요? with RESTRequest1.Params.AddItem do begin ContentType := ctNone; Kind := pkHTTPHEADER; name := 'Authorization'; Value := Basic.....; Options := [poDoNotEncode]; // 인코딩 처리 안함 end; Edited 8월 25일 by Miniuser 1 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
0 c2design 8월 25일에 포스트됨 공유하기 8월 25일에 포스트됨 사용하시는 서버에 접속이 되지 않아서 테스트는 안되는데 아래 링크 샘플을 보시고 시도해 보시기 바랍니다. 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
질문
romtech
rest api 프로젝트가 있어서 델파이를 새로구입했는데 처음하는거라 무엇이 문제인지 몰라 문의 들입니다.
cmd창에서 아래의 문구를 입력하면 토큰 응답이 옵니다.
curl -k -d "grant_type=client_credentials" -H "Authorization: Basic b2w7ZFQ4RG9KS2ALRnpJS1ZsQ1U2X1lsMUg4YTpVU1FNMnFEanArcjFTbkdwZVVpTjBQbUhSVThh" https://190.10.8.184:8243/token
그리고 웹브라우저의 확장프로그램인 postman 에서도 토큰 응답이 옵니다.(rest api 테스트용 프로그램)
postman 에서
POST 선택하고
url 입력란에 https://190.10.8.184:8243/token
Header 입력란에 Authorization Value입력란에 Basic b2w7ZFQ4RG9KS2ALRnpJS1ZsQ1U2X1lsMUg4YTpVU1FNMnFEanArcjFTbkdwZVVpTjBQbUhSVThh
x-www-form-urlencoded 텝을 선택하고
Key입력란에 grant_type Value입력란에 client_credentials
SEND 누르면 응답이 옵니다.
REST Debugger 10.5 에서
POST 선택하고
url 입력란에 https://190.10.8.184:8243/token
Content-Type에서 application/x-www-form-urlencoded 선택하고
Custom body 입력란에 {"grant_type":"client_credentials"}
Parameters 텝을 선택하고
Request Parameters 입력란에 kind에 HEADER 선택 Name에 Authorization 선택 하고 Value에 Basic b2w7ZFQ4RG9KS2ALRnpJS1ZsQ1U2X1lsMUg4YTpVU1FNMnFEanArcjFTbkdwZVVpTjBQbUhSVThh
SEND 누르면 에러 납니다. - 응답 400
버튼을 만들어 실행해도 에러가 납니다.
procedure TForm4.Button1Click(Sender: TObject);
var
JSON: TJSONObject;
Token: string;
begin
JSON := TJSONObject.Create;
JSON.AddPair('grant_type', 'client_credentials');
RESTClient1.BaseURL := 'https://190.10.8.184:8243/token';
RESTRequest1.Method := rmPOST;
RESTRequest1.Params.AddItem('Authorization', 'Basic b2w7ZFQ4RG9KS2ALRnpJS1ZsQ1U2X1lsMUg4YTpVU1FNMnFEanArcjFTbkdwZVVpTjBQbUhSVThh');
RESTRequest1.Body.Add(JSON);
RESTRequest1.Execute;
Memo1.Lines.Text := RESTResponse1.Content;
if RESTResponse1.JSONValue.TryGetValue<string>('access_token', Token) then
edtToken.Text := Token;
end;
이 댓글 링크
다른 사이트에 공유하기
2 answers to this question
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.