`
ajinn
  • 浏览: 38160 次
文章分类
社区版块
存档分类
最新评论

IDHTTP,IdCookieManager,webbrowsers的使用方法

 
阅读更多
今晚花了很长时间,到处搜索~~弄了很多东西~~总结一下先~!

从webbrowsers说起:

wb1.Navigate("http://hi.baidu.com");跳转到这个页面
wb1.OleObject.document.getElementByID('username').innerText:='fatkun';//如果知道ID
wb1.OleObject.document.getElementsByTagName('input').item(0).click;//如果知道第几个按钮
wb1.OleObject.document.all.item('userlogin', 0).click;//如果知道NAME

用webbbrowsers取得cookies

首先,要加入 uses MSHTML;

var Doc:IHTMLDocument2;
begin
Doc:=wb1.Document as IHTMLDocument2;
Doc.cookie;//这个就是cookies了。。
end;

更详细可以参考了万一老师的博客文章:WebBrowser 操作记要

IDHTTP:

//这里POST的具体数据,你可以使用WinSock Expert抓包来获取,然后每一项加在TSTRINGS里面发出去就可以了。

procedure TForm1.btn5Click(Sender: TObject);//测试登陆DISCUZ6.0,6.1都成功!
var
ts:TStrings;
str:string;
begin
ts:=TStringList.Create;
ts.Add('formhash=8');
ts.Add('cookietime=2592000');
ts.Add('loginfield=username');
ts.Add('username=你的用户名');
ts.Add('password=你的密码');
ts.Add('userlogin');
str:=IdHTTP1.Post('http://bbs.focusmobile.cn/logging.php?action=login&loginsubmit=true',ts);
mmo1.Text:=str;
end;

在IdCookieManager1中取得cookies,当然要设置

IdHTTP1.CookieManager:=IdCookieManager1;

for i := 0 to IdCookieManager1.CookieCollection.Count - 1 do
      cookieStr:=cookieStr+(IdCookieManager1.CookieCollection.Items[i].CookieText);

取得cookies有什么用呢?当然有用啦.
拿到cookies后,我们可以把cookies赋值给另一个idhttp
idHttp2.Request.CustomHeaders.Text := 'Cookie: '+cookieStr;
分享到:
评论

相关推荐

    idhttp六种post方法

    本示例聚焦于Delphi7环境下使用Indy库中的IDHTTP组件实现六种不同的POST方法。IDHTTP是Indy提供的一款强大的HTTP客户端组件,它允许开发者发送各种HTTP请求,包括GET、POST等。 首先,我们来详细解释POST方法。POST...

    delphi 7 idhttp post 的8种使用方法

    本文将深入探讨IDHTTP组件在POST请求中的8种使用方法,帮助开发者更好地理解和利用这个强大的工具。 1. **基本POST请求** IDHTTP组件最简单的POST请求可以通过设置其 `Method` 属性为 `htPost`,然后调用 `Execute...

    delphi 7 idhttp post 的8种使用方法(含源码)

    本教程将详细阐述IDHTTP组件进行POST请求的8种不同方法,每种方法都有其特定的用途和适用场景。下面,我们将逐一介绍这些方法,并提供源码示例。 1. **基本POST请求** 最简单的POST请求可以通过设置IDHTTP的...

    使用IdHttp下载文件并显示下载进度条

    使用IdHttp下载文件并显示下载进度条,下载进度采取windows消息通知的方式来显示

    利用IDHTTP多次获取网页代码

    1. **HTTP请求与响应**:`IDHTTP.Get()`方法用于发送GET请求到指定URL并返回响应的HTML代码。你需要确保URL的正确性,并处理可能的错误状态码,例如404(未找到)、500(服务器内部错误)等。 2. **多线程**:为了...

    Idhttp get方法演示

    6. `说明 - 怪才csdn博客.url`: 这是一个链接,指向了CSDN博客上的一篇文章,详细解释了`TIdHTTP`组件的`GET`方法的使用。 通过这些文件,开发者可以学习如何在Delphi项目中集成和使用`TIdHTTP`组件,以及如何处理...

    idhttp 使用代理访问

    标题 "idhttp 使用代理访问" 暗示了这是一个关于在 Delphi 开发环境中使用 Indy HTTP 客户端组件通过代理服务器进行网络访问的主题。Indy 是一个流行的开源网络组件库,广泛用于 Delphi 和 C++Builder 开发者中,...

    idhttp post方法Demo

    本篇文章将详细探讨Delphi第三方组件Indy中的`TIdHTTP`如何使用POST方法进行网络请求。 首先,`TIdHTTP`是Indy库中的一个核心组件,它负责处理HTTP协议的各种操作,如GET、POST、PUT等。在Delphi中,我们可以直接在...

    Delphi使用IdHTTP控件操作Cookies的例子.rar

    要使用IdHTTP,首先需要在工具箱中找到它,然后将其拖放到Form上。接着,我们可以设置它的各种属性,如Host(目标服务器地址)和Request.Method(HTTP方法,如'GET'或'POST')。 对于Cookie操作,有两个关键属性是`...

    delphi操作IdHTTP报头读写

    3. 发送请求:完成报头设置后,可以使用IdHTTP的Get、Post、Put等方法发送HTTP请求。例如,发送GET请求: ```delphi Response := IdHTTP.Get('http://example.com'); ``` 读取HTTP响应报头: 1. 获取响应:在发送...

    Delphi XE8 IDHTTP1.get()方法從Servlet服务器取json数据

    在本示例中,我们探讨了如何在 Delphi XE8 中使用 IDHTTP1.get() 方法从一个基于 Servlet 3.1 的服务器获取 JSON 数据。这个过程涉及到 Delphi 客户端与 Java 服务端之间的通信,其中 JSON 用于数据交换格式。以下是...

    delphi idhttp 循环 Post

    下面将详细解释如何使用Delphi的IDHTTP组件进行循环POST操作。 首先,我们需要了解IDHTTP组件的基本用法。在Delphi中,打开一个新的VCL Forms应用程序,然后从Tool Palette的Internet类别中拖一个IDHTTP组件到Form...

    使用delphi XE的IdHTTP控件POST的例子

    总之,`IdHTTP`控件在Delphi XE中是进行HTTP通信的强大工具,通过POST方法可以方便地向服务器发送数据,这对于Web服务调用、API交互等应用场景非常有用。熟练掌握`IdHTTP`的使用,将极大地提升你的Delphi应用的网络...

    Delphi的rest与idhttp的post提交+源码+测试可用

    RESTCLIENT文件可能是一个单元或者类,它包装了IDHTTP组件,提供了更高级别的接口,如`PostDataToServer`方法,以便在不同的场景下使用。 总结,Delphi中的REST与IDHTTP组件结合使用,使得开发人员能够轻松地向...

    Idhttp SSl 网站

    描述中提到的"Idhttp Post 或者 Get SSL网站都会出错",暗示了在尝试使用IDHTTP组件执行POST或GET方法访问HTTPS网站时可能遇到了错误。这可能是由于缺少必要的DLL文件导致的。DLL(Dynamic Link Library)文件是...

    IdHTTP应用实例

    在Delphi中,你可以通过以下步骤来使用IdHTTP: 1. **添加IdHTTP组件**:首先,在Delphi的Form设计器中,从“Internet”类别中拖放一个IdHTTP组件到表单上。这会将该组件添加到你的工程中,使你可以通过代码访问它...

    DELPHI7做IDHTTP开发SSL时,提示使用的2个DLL文件 libeay32.DLL 和 ssleay32.DLL 亲测可用

    4. 调用IDHTTP组件的`Get`或`Post`方法时,添加`http(s)://`前缀以指示使用HTTP或HTTPS协议。 在开发过程中,可能还会遇到证书验证、错误处理等问题。对于证书验证,可以通过设置`SSLOptions`的`VerifyFlags`和`...

    使用idhttp做的投票软件源码

    1. **IDHTTP组件的使用**:IDHTTP组件是Delphi Indy库中的核心组件之一,用于发起HTTP请求。通过设置其属性,如Host(目标服务器地址)、Port(端口号)、Request.Method(HTTP方法,如GET或POST)等,可以定制HTTP...

    IdHTTP1postget下载.rar

    在"IdHTTP1postget下载.rar"这个压缩包文件中,我们很显然关注的是如何使用`IdHTTP`组件执行POST和GET请求来实现文件的下载。 GET和POST是HTTP协议中最常见的两种方法。GET用于获取服务器上的资源,而POST则常用于...

    Delphi中idHttp和HttpServer当客户端与服务器作数据传输的实例

    根据需求,使用`idHttp.Get`或`idHttp.Post`方法发送请求。 3. **数据交换**:服务器端的事件处理器会接收到客户端的请求,并可以读取请求体中的数据。同样,客户端也可以通过`idHttp`组件的响应属性获取服务器返回...

Global site tag (gtag.js) - Google Analytics