IdHTTPServer使用注意问题】的更多相关文章

IdHttpServer实现webservice   朋友有个项目,通信协议使用HTTP,数据序列使用BIN(二进制).他不知道要选用何种技术方案. REST webservice是http+json,SOAP webservice是http+xml,好像都不适合. 于是想到了使用INDY的TidHttpServer控件来实现.TidHttpServer是可以实现webservice中间件的. 限于篇幅,省略若干代码. 中间件代码: //设置绑定参数IdHTTPServer1.Bindings.…
IdHttpServer实现webservice   朋友有个项目,通信协议使用HTTP,数据序列使用BIN(二进制).他不知道要选用何种技术方案. REST webservice是http+json,SOAP webservice是http+xml,好像都不适合. 于是想到了使用INDY的TidHttpServer控件来实现.TidHttpServer是可以实现webservice中间件的. 限于篇幅,省略若干代码. 中间件代码: //设置绑定参数IdHTTPServer1.Bindings.…
indy10的idhttpServer应答字符串 先看应答字符串的代码: procedure TIdIOHandler.Write(const AOut: string; AByteEncoding: IIdTextEncoding = nil {$IFDEF STRING_IS_ANSI}; ASrcEncoding: IIdTextEncoding = nil{$ENDIF} ); begin if AOut <> '' then begin AByteEncoding := iif(AB…
indy10的idHttpServer发送流 先看源码: procedure TIdIOHandler.Write(AStream: TStream; ASize: TIdStreamSize = 0; AWriteByteCount: Boolean = FALSE); var LBuffer: TIdBytes; LStreamPos: TIdStreamSize; LBufSize: Integer; // LBufferingStarted: Boolean; begin if ASiz…
INDY10的IDHttpServer应答客户端 首先贴源码: procedure TIdHTTPResponseInfo.WriteContent; begin if not HeaderHasBeenWritten then begin WriteHeader; end; // RLebeau 11/23/2014: Per RFC 2616 Section 4.3: // // For response messages, whether or not a message-body is…
idhttpserver的使用方法 1)CommandGet(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);事件 该事件和IDTCPSERVER的EXECUTE()事件一样,都是“线程方法”,即事件是在子线程里面执行的,在其内书写代码要注意“线程保护”. 该事件可以接受客户端HTTP GET.POST或其他HTTP方法请求. if SameText(ARequ…
INDY10 IDHTTPSERVER返回中文不乱码 procedure TynHttpServer.CommandGet(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo); begin AResponseInfo.ContentType := 'text/html; charset=GB2312'; AResponseInfo.WriteContent; end…
如果在同一电脑上运行多个IdHTTPServer实例,IdHTTPServer使用时候,一定要注意“DefaultPort”属性,其实真正绑定端口是这个属性决定的,所以希望IdHTTPServer绑定在那个端口上,应该把要绑定的端口设置在“DefaultPort”上,否则会出现端口被占用的情况. //设置绑定参数 IdHTTPServer1.Bindings.Clear; IdHTTPServer1.DefaultPort:= 要绑定的端口,一定设置此项,这是真正要绑定的端口; IdHTTPSe…
放在公司共享盘中的文件,不时就被其他人剪切走了,本想用Apache搭个服务端,提供文件下载的功能,写php脚本时碰到点问题,没折腾出来,一狠心,用Indy的IdHttpServer写.不过中间也碰到了编码.解码的问题.好在最终搞定. 浏览器显示列表:…
IdHTTPServer(indy10)开发REST中间件 浏览器通过“get”方式查询数据URL样例:http://127.0.0.1:7777/query?sql=select * from t1 /query 表示是“查询”命令字 ?后面是SQL参数 服务端代码: procedure TForm1.IdHTTPServer1CommandGet(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TI…