WebBrowser Navigate2 Delphi Post数据

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, SHDocVw;

type
TForm1 = class(TForm)
    WebBrowser1: TWebBrowser;
    Memo1: TMemo;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
*******
    { Private declarations }
public
    { Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
URL:OleVariant;
POST:OleVariant;
target:OleVariant;
flag:OleVariant;
header:OleVariant;
PostStr:String;
PostLen,Index:Integer;
begin
URL:='http://port.fudan.edu.cn:58080/amserver/UI/Login?goto=http%3A%2F%2Fwww.urp.fudan.edu.cn%3A81%2Fepstar%2Frs%2Fpr%2Fgwkh%2Fdzgwkh%2Fgr_dzgwkh_index.jsp &gotoOnFail=http://www.urp.fudan.edu.cn/portal?.flag=fail';
PostStr:='Login.Token1=04538&Login.Token2=*******&Submit=%B5%C7+%C2%BC';
target:=NULL;
flag:=0;
PostLen := Length(PostStr);
// 用构建 varByte 类型的 Variant array
Post := VarArrayCreate([0, (PostLen - 1)], varByte);
// 填充数据
for Index := 0 to PostLen - 1 do
    Post[Index] := Ord(PostStr[Index + 1]);
// 填补头部数据注意:application
Header := 'Content-Type: application/x-www-form-urlencoded';


WebBrowser1.Navigate2(URL,flag,target,POST,Header);
while WebBrowser1.Busy=True do
     Application.ProcessMessages ;
if WebBrowser1.ReadyState <>READYSTATE_COMPLETE   then
Memo1.Text :=WebBrowser1.OleObject.Document.all.tags('HTML').Item(0).outerHTML;
else
Memo1.Text:='页面加载失败';
end;
end.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值