因为一个任务,最近几天一直在研究Webbrowser的相关功能,下面是收集到的一些方法

//根据URL获取请求Header
function GetAllHeaders(URL: string): string;
var
hSession: HInternet;
hURL: HInternet;
hReq: HInternet;
bRet: Boolean;
sBuff: String;
lBuffLen:DWord;
dwParam: DWord;
aResult: String;
aServer: string;
aFilePath: string;
I: Integer;
begin
Result := 'Unknown error';
aFilePath := URL;
if pos('http://', aFilePath) = 1 then
Delete(aFilePath, 1, 7);
aServer := SplitAtToken(aFilePath, '/');
dwParam := 0;
hSession := InternetOpen(
'http generic',
INTERNET_OPEN_TYPE_PRECONFIG, {use IE's setup to conect to the web}
nil, nil, 0);
try
if hSession = nil then
Exit; hURL := InternetConnect(hSession,
PChar(aServer), {the server we wants to conect to}
INTERNET_DEFAULT_HTTP_PORT, nil, nil,
INTERNET_SERVICE_HTTP, 0, 1);
try
if hURL = nil then
Exit; hReq := HttpOpenRequest(hURL,
nil, {nil defaults to the 'GET' verb}
PChar(aFilePath), {actual file on the server}
HTTP_VERSION, nil, nil,
INTERNET_FLAG_RELOAD, 0);
try
if hReq = nil then
Exit;
if not HttpSendRequest(hReq, nil, 0, 0, 0) then
Exit;
SetLength(sBuff, 1024); //set plenty of room in buffer
lBuffLen := Length(sBuff); bRet := HttpQueryInfo(hReq,
HTTP_QUERY_RAW_HEADERS_CRLF, {get all headers in one move}
@sBuff[1], lBuffLen, dwParam);
if bRet then
Result := sBuff
else
Result := 'QueryInfo error = '+IntToStr(GetLastError);
finally
InternetCloseHandle(hReq);
end;
finally
InternetCloseHandle(hURL);
end;
finally
InternetCloseHandle(hSession);
end;
end;

  

//获取 WebBrowser 控件当前显示页面的Html
function GetCompleteHTMLSource(wb: TWebBrowser) : string;
var
iDoc: IHTMLDocument2;
iall : IHTMLElement;
begin
Result := '';
if Assigned(wb.Document) then begin iDoc := wb.Document as IHTMLDocument2;
iall := iDoc.body; while iall.parentElement <> nil do begin
iall := iall.parentElement;
end; Result := iall.outerHTML;
end;
end;

Delphi webbrowser 的一些方法的更多相关文章

  1. delphi WebBrowser的使用方法详解(五)-难点释疑

    网页代码:<SELECT id=fy onchange=TouchRefresh(1) name=fy> <OPTION selected value=15>每頁顯示15筆&l ...

  2. delphi WebBrowser的使用方法详解(六)

    通篇引用mshtml; 一.webbrowser获取滚动条的位置 function GetScrollPositionX(FWB:TEmbeddedWB):Integer;     //水平滚动条位置 ...

  3. delphi WebBrowser的使用方法详解(三)

    WebBrowser 操作记要 WebBrowser1.GoHome;  //到浏览器默认主页 WebBrowser1.Refresh;  //刷新 WebBrowser1.GoBack;  //后退 ...

  4. delphi WebBrowser的使用方法详解(四)-webbrowser轻松实现自动填表

    webbrowser轻松实现自动填表 步骤如下:  第一步:获取网页 调用Webbrowser 的Navigate系列函数.等待网页装载完成,得到document对象. 在调用 webBrowser. ...

  5. delphi WebBrowser控件上网页验证码图片识别教程(一)

    步骤一:获取网页中验证码图片的url地址 在delphi中加入一个BitBtn和一个memo以及WebBrowser控件实现网页中验证码图片的url地址的获取 程序如下:procedure TForm ...

  6. <总结>delphi WebBrowser控件的使用中出现的bug

    Delphi WebBrowser控件的使用中出现的bug:  1.WebBrowser.Visible=false:Visible属性不能使WebBrowser控件不可见,暂时用 WebBrowse ...

  7. Delphi WebBrowser控件的使用(大全 good)

    Delphi WebBrowser控件的使用 WebBrowser控件属性:1.Application      如果该对象有效,则返回掌管WebBrowser控件的应用程序实现的自动化对象(IDis ...

  8. Delphi之静态方法,虚方法virtual,动态dynamic,抽象abstract,消息

    Delphi之静态方法,虚方法virtual,动态dynamic,抽象abstract,消息 http://www.cnblogs.com/zhwx/archive/2012/08/28/266055 ...

  9. [delphi]indy idhttp post方法

    网易 博客 LOFTCam-用心创造滤镜 LOFTER-最美图片社交APP 送20张免费照片冲印 > 注册登录  加关注 techiepc的博客 万事如意 首页 日志 LOFTER 相册 音乐 ...

随机推荐

  1. Python入门——import

    最近身边的人或多或少都知道一点python,自己也想动手试试吧.按照网上的教程,安装了python,Eclipse插件pydev.接下来就是在Eclipse下新建工程,创建py文件这就不多说了. 第一 ...

  2. C# WinForm启动时的事件加载次序

  3. C#开发之反射的简单使用

    奋斗的蘑菇 原文C#开发之反射的简单使用 以前在Windows Mobile中写过一个写好的Dll中的图片的例子,现在在项目中有接触到在一个大的窗体中,动态的加载一些窗体这样的需求.将功能按照模块的划 ...

  4. 一分钟学会 ConstraintLayout 之从属性角度理解布局

    ConstraintLayout 在 Android 开发中,我们通常是手写布局,很少会用拖动来写布局,虽然 ConstraintLayout 在 I/O 上以拖动来展现了各种功能,我估计在以后开发中 ...

  5. GPU架构图

    找了几张GPU架构图,对理解图形渲染管线很有帮助

  6. linux下mysql的源码安装

    mysql有多中安装方法,本文只涉及编译安装,对其他方法感兴趣的可以自行百度. 1.首先获取mysql软件安装包,这里用wget下载 [root@localhost ~]# wget http://d ...

  7. Spark中RDD的常用操作(Python)

    弹性分布式数据集(RDD) Spark是以RDD概念为中心运行的.RDD是一个容错的.可以被并行操作的元素集合.创建一个RDD有两个方法:在你的驱动程序中并行化一个已经存在的集合:从外部存储系统中引用 ...

  8. Python基础:面向对象基础 (一) 类及其属性和魔法方法

    定义类,添加和获取对象属性 # 定义类 格式如下 # class 类名: # 方法列表 # 新式类定义形式 # info 是一个实例方法,第一个参数一般是self,表示实例对象本身 class Her ...

  9. MyCat的安装及基本使用(MySQL分库分表)

    1.Mycat的简介 1.1 数据库集群产生的背景 如今随着互联网的发展,数据的量级也是成指数的增长,从GB到TB到PB.对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数 ...

  10. SQLSERVER 建立全文检索

    --  创建测试表 --  DROP TABLE FullTextIndexing CREATE TABLE FullTextIndexing ( ID INT IDENTITY(1,1) NOT N ...