Http协议访问DataSnap Rest 服务器
2016-10-28 22:47
375 查看
Http协议访问DataSnap Rest 服务器
用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单元。
相关文章推荐
- Http协议访问DataSnap Rest 服务器
- Http协议访问DataSnap Rest 服务器 - 封三郎
- 采用Apache服务器,利用http协议格式来访问另一台电脑的文件夹
- Delphi XE程序设计系列 2-开发DataSnap/REST服务器
- datasnap——动态注册服务类 datasnap——动态注册服务类 在DataSnap的应用程序时,我们首先需要注册的服务器类,以提供访问客户端应用程序的服务器方法。通常的做法是使用DSSer
- [轻微]WEB服务器启用了OPTIONS方法/如何禁止DELETE,PUT,OPTIONS等协议访问应用程序/tomcat下禁用不安全的http方法
- [轻微]WEB服务器启用了OPTIONS方法/如何禁止DELETE,PUT,OPTIONS等协议访问应用程序/tomcat下禁用不安全的http方法
- idhttp.post方式 调用datasnap rest 远程方法
- DataSnap的REST服务器ServerMethod参数编码问题
- 通过HTTP访问datasnap server的函数并带参数
- Delphi XE程序设计系列 2-开发DataSnap/REST服务器
- Delphi XE程序设计系列 2-开发DataSnap/REST服务器
- XMLHTTPRequest、IDHTTP、SQLConnection访问DataSnap/Restful接口服务演示程序
- [轻微]WEB服务器启用了OPTIONS方法/如何禁止DELETE,PUT,OPTIONS等协议访问应用程序/tomcat下禁用不安全的http方法
- Delphi XE程序设计系列 2-开发DataSnap/REST服务器
- CentOS搭建GIT服务器【二】-HTTP源码访问及smart http协议
- http访问服务器rest格式请求
- idhttp.post方式 调用datasnap rest 远程方法
- idhttp.post方式 调用datasnap rest 远程方法
- idhttp.post方式 调用datasnap rest 远程方法