关于 TIdHttp】的更多相关文章

用c++ builder 的TIdHttp组件Get一个ASP.Net MVC服务器的一个页面,获取页面中Cookie信息,修改后Post到服务器上去. 在本地调试的时候可以获取到,部署到服务器上就获取不到Cookie,用FireFox的FireBug打开网页可以看到Cookie的信息,然后又用Wireshark查看Get数据,发现Cookie有HttpOnly属性,TIdHttp的CookieManager获取不到.查找发现在m_IdHttp->Response->RawHeaders中有C…
现在delphi都发布到xe8了,tidhttp还有缺陷,那就是超时设置在没有网络或者连不上服务器的时候是无效的,不管你设置为多少都要10-20秒.connectTimeout和readTimeout都试过了,网上找了一圈,有人提出修改源码,我没试,应该也可以. 我采用的是把idhttp.get方法放到线程里,在主线程定时检查返回状态,这样就可以控制超时时间了,伪代码如下. strResult:=''; Tthread.CreateAnonymousThread( procedure begin…
经验总结: 1.IdHttp 不支持多线程,只支持异步.所有网上的多线程写法下,如果同时并发多个长 GET 或 POST 请求时,会阻塞. 以下代码用于显示下载数据的进程. procedure TForm1.IdHTTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode; const AWorkCountMax: Integer);//开始下载前,将ProgressBar1最大值设置为需要接收数据大小. begin ProgressBar1.Max:…
现在delphi都发布到xe10.1了,tidhttp还有缺陷,那就是超时设置在没有网络或者连不上服务器的时候是无效的,不管你设置为多少都要10-20秒.connectTimeout和readTimeout都试过了,网上找了一圈,有人提出修改源码,我没试,应该也可以.我采用的是把idhttp.get方法放到线程里,在主线程定时检查返回状态,这样就可以控制超时时间了,代码如下. strResult:=''; Tthread.CreateAnonymousThread( procedure begi…
http://blog.csdn.net/panjunbiao/article/details/8615880   用Delphi的TIdHttp控件发起POST请求和Java的Servlet响应…
之前的一篇博文详细描述了使用TIdhttp控件下载http协议的文件,在我项目的使用过程中发现对于下载Https协议中的文件与Http协议的文件不同,毕竟Https在HTTP协议基础上增加了SSL协议.接下来我们就来看看如何下载Https协议的服务器文件. HTTPS既然是增加了SSL协议,那么我们就处理SSL协议这关就可以了. 开发环境:XE2 + Indy10 Delphi控件:TIdhttp,IdSSLIOHandlerSocketOpenSSL(原生控件) 关键DLL:libeay32.…
开篇:公司之前一直使用http协议进行交互(比如登录等功能),但是经常被爆安全性不高,所以准备改用https协议.百度了一下资料,其实使用IdHttp控件实现https交互的帖子并不少,鉴于这次成功实现了功能,在此总结分享给大家. 开发环境:XE2 + Indy10 https服务协议:使用Json格式交互参数 Delphi控件:TIdhttp,IdSSLIOHandlerSocketOpenSSL(原生控件) 关键DLL:libeay32.dll,ssleay32.dll 为了封装我自己的功能…
网络接口如下图: 浏览器演示如下:http://xxx.xxx.xxx.xxx/web/login!doLogin?data={"password":"yy123","userCode":"yyy123","terminalCode":"123"} 返回信息是一个json格式的字符串:{"errorMsg":"登录成功!","result…
Delphi 实现可执行程序的自动升级 准备工作: 1:Delphi调用TIdHTTP方式开发程序,生成程序打包外壳 说明:程序工程命名为ERP_Update 界面布局如下: 代码实现如下: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, IdTCPConnection, SHELLA…
type TwmsThreadpostJson = class(TThread) private Furl: string; Fpostcmd: string; FResult: string; FBOOL: Boolean; protected procedure Execute; override; end; class function TWmsApplicationfunction.postjson(url, postcmd: string): string; var FThread:…