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 服务器,布布扣,bubuko.com

时间: 2024-12-03 08:04:11

Http协议访问DataSnap Rest 服务器的相关文章

lanproxy可支持任何 tcp 上层协议(ssh 访问、web 服务器访问、远程桌面...)

lanproxy 是一个将局域网个人电脑.服务器代理到公网的工具,目前仅支持 tcp 流量转发,可支持任何 tcp 上层协议(ssh 访问.web 服务器访问.远程桌面...).与目前市面上的花生壳.TeamView.GoToMyCloud 等等类似,但胜在开源,不受限制. 作者:@小飞 地址:http://git.oschina.net/fengfei/lanproxy http://www.oschina.net/news/80909/2016-oschina-git-top-50

paramiko:实现ssh协议,对linux服务器资源的访问

介绍 网络传输是遵循协议的,比如SSH,paramiko则是实现了SSHv2协议的一个python库(底层使用的是cryptography).有了paramiko之后,我们便可以通过python使用ssh协议来连接远程服务器执行操作,不用再通过xshell等工具.安装也很简单,直接pip install paramiko即可 paramiko包含两大核心组件:SSHClient和SFTPClient SSHClient的作用类似于Linux下的ssh命令,是对SSH会话的封装,该类封装了传输(t

CentOS6.5 下在Nginx中添加SSL证书以支持HTTPS协议访问

参考文献: 1. NginxV1.8.0安装与配置 2. CentOS下在Nginx中添加SSL证书以支持HTTPS协议访问 3. nginx配置ssl证书的方法 4.nginx强制使用https访问(http跳转到https) 5.nginx ssl 107 (net::ERR_SSL_PROTOCOL_ERROR) 无法与服务器建立安全连接 解决方法 配置过程如下: 我的nginx是 yum 安装 具体安装过程参考:[转]CENTOS 6.5 配置YUM安装NGINX+服务器负载均衡 一.安

SecureCRT连接VirtualBox下的ubuntu以及NMP的搭建与通过宿主机访问该NGINX服务器过程

一直使用wamp作为开发环境,只是工作中时常会遇到在wamp下没问题但是提交到服务器生产环境会出现一些意想不到的情况,由此萌生了在本机搭建LNMP环境的想法,我个人不知道其他人的虚拟机搭建服务器环境是怎样的,但我被网上不少教程坑了好久,光卡在尝试用secureCRT连接ubuntu就花了两三个小时. 首先你要有个虚拟机已经安装好ubuntu,这个网上教程很多也很简单就越过了. 首先打开终端,输入指令sudo -i,密码,获得root权限,方便接下来办事. 1.apt-get update (更新

【转】Linux下nginx配置https协议访问的方法

一.配置nginx支持https协议访问,需要在编译安装nginx的时候添加相应的模块--with-http_ssl_module 查看nginx编译参数:/usr/local/nginx/sbin/nginx -V 如下所示: configure arguments: --prefix=/usr/local/nginx --with-google_perftools_module --without-http_memcached_module --user=www --group=www --

Delphi XE程序设计系列 2-开发DataSnap/REST服务器

转载于:http://blog.csdn.net/shuaihj/article/details/6129271 Delphi XE程序设计系列 2-开发DataSnap/REST服务器 分类:            编程语言-Delphi2011-01-11 15:524122人阅读评论(1)收藏举报 delphi服务器restjavascriptfunction 在上次的文章中讨论了如何把传统的Delphi 主从架构应用程序逐渐转换为DataSnap JSON服务器,在本篇文章中让我们正式讨

centos6.5 Open×××服务搭建部署,访问内网服务器

centos6.5 Open×××服务搭建部署,访问内网服务器 1 简介 ×××(Virtual Private Network)直译就是虚拟专用通道,是提供给企业之间或者个人与公司之间安全数据传输的隧道. ? ? Open×××无疑是Linux下开源×××的先锋,提供了良好的性能和友好的用户GUI.该软件最早由James Yonan编写.Open×××允许参与建立×××的单点使用预设的私钥,第三方证书,或者用户名/密码来进行身份验证.它大量使用了OpenSSL加密库,以及SSLv3/TLSv1

Android9.0无法加载图片及访问不了服务器问题

当在安卓9.0加载网络请求数据时,如果抛出如下异常: Cause (1 of 1): class java.io.IOException: Cleartext HTTP traffic to xxxx.xxxx.xxxx not permitted 这是因为Android 9.0 版本系统默认支持一个网络访问协议:Https协议的网络,所以不支持网络访问:Http协议的网络面对这样的问题,解决办法: 第一种办法在AndroidMainfast.xml清单文件 Application里增加代码::

ubuntu禁止ping操作(禁用ICMP协议访问)

ping命令是计算机之间进行相互检测线路完好的一个应用程序,计算机间交流数据的传输没有经过任何的加密处理,因此我们在用ping命令来检测某一个服务器时,可能在因特网上存在某个非法分子,为了安全我们把ping给禁止掉. 通过专门的黑客程序把在网络线路上传输的信息中途窃取,并利用偷盗过来的信息对指定的服务器或者系统进行攻击,为此我们有必要在Linux系统中禁止使用ping命令.在linux里,如果要想使ping没反应也就是用来忽略icmp包,因此我们可以在 Linux的命令行中输入如下命令: 方法一