idhttp

  ss : TStringStream;
begin
  ss := TStringStream.Create(‘‘, TEncoding.GetEncoding(936)); { 指定gb2312的中文代码页,或者54936(gb18030)更好些 utf8 对应 65001}
  try
    IdHTTP1.Get(CSURL, ss);
    IdHTTP1.Get(CSURL);
    Memo1.Text := ss.DataString;
  finally
    ss.Free;
  end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
params:tstrings;
begin
idHTTP1.Request.UserAgent:=‘Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)‘;
idHTTP1.Request.ContentType:=‘application/x-www-form-urlencoded; Charset=UTF-8‘;
idHTTP1.Request.Host:=‘my.qq.com‘;
idHTTP1.Request.Connection:=‘Keep-Alive‘;
idHTTP1.Request.Accept:=‘*/*‘;
idHTTP1.Request.SetHeaders;
idHTTP1.Request.CustomHeaders.Values[‘Cookie‘]:= edit4.text;
Params:=TStringList.Create;
params.Add(‘fp=‘+‘loginerroralert‘);
params.Add(‘u=‘+edit1.Text);
params.Add(‘p=‘+edit2.Text);
params.Add(‘verifycode=‘+edit3.Text);
params.Add(‘u1=‘+‘http://my.qq.com‘);
params.Add(‘aid=‘+‘8000203‘);
params.Add(‘dummy=‘+‘1‘);
params.Add(‘h=‘+‘1‘);
memo1.Text:=idhttp1.Post(‘http://ptlogin2.qq.com/login‘,params);
memo1.Text:=utf8toansi(memo1.Text);
end;
时间: 2024-10-12 21:43:26

idhttp的相关文章

delphi idhttp 实战用法

以delphi xe2 自带indy(10.5.8.0)组件为例,分享实战中遇到的问题及解决方法. Idhttp 重要属性 HTTPOptions := []; 属性设为空,禁止idhttp自动为post的TStringList参数编码,因为自动编码使用的是HttpApp单元下的HttpEncode, 但此函数有误,未将+,$,@这3个符号编成UrlCode.请自行改造此函数然后使用. HTTPOptions := [hoNoParseMetaHTTPEquiv]; 当遇到Get某个网页,idh

IdHTTP设置SSL证书,乱码问题也解决了

要跟银行做接口,需要使用delphi来post数据,但对方提供的是https开头的网址,需要使用证书,对方已提供证书了,但是还是调用不成功,使用的是idhttp和TIdSSLIOHandlerSocketOpenSSL来post的,indy 版本是10.5.5, OpenSSL的dll版本是openssl-1.0.0-i386-win32.现在报的错是:“could not load certificate error:0906D06C:PEM routines:PEM_read_bio:no 

HTTP 常见异常状态及Delphi IDHTTP 控件处理方式

以下部分为网上查找,部分为工作中整理 200:请求成功 202:请求被接受,但处理尚未完成 302:请求到的资源在一个不同的URL处临时保存     处理方式:重定向到临时的URL(IDHTTP处理方式 : IdHTTP.HandleRedirects := True;) 404:没有找到URL     处理方式:确认网页是否正确 415:请求格式问题    处理方式:设置content-type(IDHTTP处理方式 : 设置IdHTTP.Request.CustomHeaders.Value

delphi 用idhttp做web页面数据抓取 注意事项

这里不讨论webbrowse方式了 .直接采用indy的 idhttp  Get post 可以很方便的获取网页数据. 但如果要抓取大量数据 程序稳定运行不崩溃就不那么容易了.这几年也做了不少类似工具 总结了几点 好记性不如烂笔头. 内存泄露 获取页面文本 少不了用到html解析 具体到delphi 估计采用mshtml htmltotext 方法的不少,这个方案再大数据量时就会内存溢出 导致程序崩溃,而这并不是每个程序员都知道.解决的方案:采用自己的html解析类 这里我要感谢 武稀松(csd

Delphi 实现 图灵机器人API(IDHTTP POST )

此功能所需的 Key及接口文档,都可以在图灵机器人的官网下载, 小伙伴们需要申请自己的图灵机器人账号. 申请方法请自行百度“图灵机器人”  . 登录账号后,在左侧的[机器人接入],获取需要的信息,记得一定要关闭 secret,开启的话,需要对请求进行特殊处理,具体处理方法可以看接口文档中的“数据加密Demo”,当然Java 开发的小伙伴可以直接使用Demo(流行的语言真好,东西都是现成的) 下面贴出的是POST请求,实现图灵机器人的方法. unit Demo; interface uses Wi

Delphi IDHTTP控件:GET/POST 请求

最近一直在使用IDHTTP,下面是一些关于 GET.POST 请求基本使用方法的代码 一.GET 请求 1 procedure GetDemo; 2 var 3 IdHttp : TIdHTTP; 4 Url : string;//请求地址 5 ResponseStream : TStringStream; //返回信息 6 ResponseStr : string; 7 begin 8 //创建IDHTTP控件 9 IdHttp := TIdHTTP.Create(nil); 10 //TSt

Delphi IDHTTP用法详解

[delphi] view plaincopyprint? 一.IDHTTP的基本用法 IDHttp和WebBrowser一样,都可以实现抓取远端网页的功能,但是http方式更快.更节约资源,缺点是需要手动维护cook,连接等 IDHttp的创建,需要引入IDHttp procedure InitHttp(); begin http := TIdHTTP.Create(nil); http.ReadTimeout := 30000; http.OnRedirect := OnRedirect;

IDHTTP用法详解 good

一.IDHTTP的基本用法 IDHttp和WebBrowser一样,都可以实现抓取远端网页的功能,但是http方式更快.更节约资源,缺点是需要手动维护cook,连接等 IDHttp的创建,需要引入IDHttp procedure InitHttp(); begin http := TIdHTTP.Create(nil); http.ReadTimeout := 30000; http.OnRedirect := OnRedirect; http.Request.Accept := 'image/

IDHTTP的基本用法

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 8

delphi idhttp 实战用法(TIdhttpEx)

以delphi XE8 自带indy(10.5.8.0)组件为例,分享实战中遇到的问题及解决方法. TIdHttpEx 用法实例01[多线程获取网页](包含完整源码) 实例02(如何Post参数,如何保存与提取Cookie)待写 TIdHttpEx 已实现了对GZIP的解压,对UTF-8编码解码等 本文包含以下几个单元 uIdhttp.pas (TIdHttpEx) uIdCookieMgr.pas (TIdCookieMgr) uOperateIndy.pas 操作 TIdhttpEx 全靠它