起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: op+

【结贴】购物车、在线支付

[复制链接]
发表于 2009-10-26 17:45:05 | 显示全部楼层
请楼主 搜索一下delphi中的TWebBrowser的相关用法。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-10-26 18:00:14 | 显示全部楼层
最初由 zfang 发布
[B]请楼主 搜索一下delphi中的TWebBrowser的相关用法。 [/B]


WebBrowser1.Navigate('http://www.baidu.com'); 只是打开一个网页,我要传参数到网银网页中啊~ ;)
回复 支持 反对

使用道具 举报

发表于 2009-10-26 22:05:20 | 显示全部楼层
直接向Webbrowser中写入html代码,不需要Navigate到实际存在的文件
   var
      StrStream:TStringStream;
      SetNoteStr: string;
   begin
      SetNoteStr :='<body bgcolor=222222 align=center><br><p align=center><font size=+2 color=#FFFFFF>点点博客 http://seelearn.com<;/font></p>';
      SetNoteStr :=SetNoteStr+'<br><p align=center><font size=+2 color=#FFFFFF>点击左边按钮可查看对应图片</font></p>';
      StrStream:=TStringStream.Create(SetNoteStr);
      WebBrowser1.Navigate('about:blank');
     try
        StrStream.Position:=0;
        ( WebBrowser1.Document as IPersistStreamInit).Load(TStreamadapter.Create(StrStream));
     finally
        StrStream.Free;
     end;
   end;

这里也只能给你这样的参考,具体实现还需要楼主集思广益,我也没接触过网银 的东西。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-10-28 08:55:10 | 显示全部楼层
xmlHttp控件在哪里 ?
回复 支持 反对

使用道具 举报

发表于 2009-10-28 09:03:21 | 显示全部楼层
xmlHttp平台中没有此控件。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-10-28 10:10:36 | 显示全部楼层
版主,,这个IdEncoderMIME1没有啊,,,弄个给我吧。~~哈哈,谢谢了

function Tverpipxinfo.postXml(const xmlstr, url: WideString): WideString;
var
idHttp:TIdHTTP;
sends:tstrings;
IdEncoderMIME1:TIdEncoderMIME;
begin
  result:='';
  try
   idHttp:= TIdHTTP.Create(nil);
   idHttp.Request.ContentType := 'application/x-www-form-urlencoded';
   IdEncoderMIME1:=TIdEncoderMIME.Create(nil);
   sends:=tstringlist.Create;
   sends.Add('xmlstr='+IdEncoderMIME1.Encode(xmlstr));
   result:=idhttp.Post(url,sends);
  except
   on E:Exception do
     begin
       result:=e.Message;
     end;
  end;
  idHttp.Free;
  IdEncoderMIME1.Free;
  sends.Free;
end;

1111.jpg

19.38 KB, 下载次数: 153

回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-10-28 10:28:23 | 显示全部楼层
Delphi中使用IdHTTP来访问基于SSL协议的网站



今天有人问我使用idhttp如何去访问ssl协议的网站

很简单

在界面上放一个TIdHTTP控件,命名为IdHTTP1

再放一个TIdSSLIOHandlerSocket控件,命名为IdSSLIOHandlerSocket1

将IdHTTP1的IOHandler属性设为IdSSLIOHandlerSocket1

这样就可以随意的Get,Post那些地址为https开头的网站了

不过这样仍然不行,当运行程序时,会报错“Could not load SSL library”

这是因为TIdSSLIOHandlerSocket控件需要OpenSSL Library来配合

OpenSSL Library包含有两个动态链接库libeay32.dll和ssleay32.dll

据说因为OpenSSL Library中包含有安全方面的一些加密算法,所以美国政府把它列为禁止出口的产品,所以indy中并没有带上这两个文件

到网上搜索一下,很多地方都有下载,下回来放在程序目录里,就可以正常的使用IdHTTP来访问基于SSL协议的网站了



版主,,
1.....TIdSSLIOHandlerSocket控件没有呢 ??
2.....这是因为TIdSSLIOHandlerSocket控件需要OpenSSL Library来配合,OpenSSL Library包含有两个动态链接库libeay32.dll和ssleay32.dll

上面2点怎么用呢 ???

lib.rar

300.15 KB, 下载次数: 63

回复 支持 反对

使用道具 举报

发表于 2009-10-28 10:44:01 | 显示全部楼层
个人建议楼主用delphi实现,然后以第三方控件的方式引入到平台中调用。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-10-28 15:16:39 | 显示全部楼层
版主,我也想在DELPHI中实现了在导入平台啊
结合着36楼37楼的问题没解决,还有一下的方法,都是有错的。

delphi下使用http協議post方式發送xml數據到asp頁面和aspx頁面
delphi端的發送代碼
function Tverpipxinfo.postXml(const xmlstr, url: WideString): WideString;
var
idHttp:TIdHTTP;
sends:tstrings;
IdEncoderMIME1:TIdEncoderMIME;
begin
  result:='';
  try
   idHttp:= TIdHTTP.Create(nil);
   idHttp.Request.ContentType := 'application/x-www-form-urlencoded';
   IdEncoderMIME1:=TIdEncoderMIME.Create(nil);
   sends:=tstringlist.Create;
   sends.Add('xmlstr='+IdEncoderMIME1.Encode(xmlstr));
   result:=idhttp.Post(url,sends);
  except
   on E:Exception do
     begin
       result:=e.Message;
     end;
  end;
  idHttp.Free;
  IdEncoderMIME1.Free;
  sends.Free;
end;
回复 支持 反对

使用道具 举报

发表于 2009-10-28 15:24:24 | 显示全部楼层
我这儿没有delphi。这些组件应该都是Indey组件,你网上搜一下吧
http://topic.csdn.net/u/20081204 ... 6-5eba64b6e35e.html
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-15 03:27 , Processed in 0.045301 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表