Http 프로토콜에서 DataSnap Rest 서버 액세스

3318 단어 http 프로토콜
TIDHttp로 DataSnap Rest 서버에 액세스합니다. 서버가 사용자 인증을 받은 경우 클라이언트는 아래의 세부 사항을 주의해야 합니다. 그렇지 않으면 정상적으로 연결할 수 없습니다.
서버에 다음과 같은 사용자 인증이 있는 경우
procedure TSC.DSAuthenticationManager1UserAuthenticate(Sender: TObject;

  const Protocol, Context, User, Password: string; var valid: Boolean;

  UserRoles: TStrings);

var

  sCheckCode : string;

begin

  valid := False;

  sCheckCode := CMBSrvIniSetting.SrvCnnCheckCode;

  if PassWord.Equals(sCheckCode) then

  begin

    valid := True;

  end;

end;

그러면 클라이언트가 연결할 때 이 비밀번호를 전달해야 합니다. 그렇지 않으면 401 오류가 발생합니다.
procedure TForm15.Button2Click(Sender: TObject);

var

  url, params, Text: string;

  code: Integer;

  http: TIDHttp;

begin

  http:= TIDHttp.Create(nil);

  http.Request.BasicAuthentication := True;

  http.request.password := ' ';

  params := Edit1.Text;



  url:= 'http://192.168.10.182:8081/datasnap/rest/TSM/EchoString/';

  try

    text := http.Get(URL+TIdURI.ParamsEnCode(params));

    Edit2.Text := Text;

  except

    on E: Exception do

    begin



    end;

  end;

end;

이렇게 하면 클라이언트가 서버에 정상적으로 접근할 수 있는 방법이 된다.
또한 클라이언트가 Post 방식으로 서버에 접근하면 서버의 방법은 정의할 때 앞에 Update 접두사: UpdateEchostring을 추가해야 합니다.
TIdURI 클래스는 IdURI에 정의됩니다.pas 단원.

좋은 웹페이지 즐겨찾기