如何取得网址的参数(30分)

  • 主题发起人 主题发起人 volman
  • 开始时间 开始时间
V

volman

Unregistered / Unconfirmed
GUEST, unregistred user!
请教各位如何在控件 WebBrowser 中的 OnBeforeNavigate2 事件中取得网址中的参数,
如 http://www.delphibbs.com/ask.asp?id=001 这种网址中如何获取 id=001
 
取得参数开始位置,截取就行
pos('?',url)
 
这样不行的,URL中只有?前一段。
 
如果在webbrowser中的URL用 http://www.delphibbs.com/ask.asp与http://www.delphibbs.com/ask.asp?id=001一样的话,没话说呀,因为这是访问的这个网站默认的,或者进行了重定向处理。
你又怎么可以在beforeNavigate2事件中取得呢
 
但是对本地网页HTML文件也一样。我随便写一个链接如 href='abc.htm?id=001' 也一样不能获取。
 
procedure TForm1.WebBrowser1BeforeNavigate2(Sender: TObject;
const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
begin
form1.Caption:=url; // 在FORM1的标题显示的就是完整的URL
end;
 
你试一下就知道结果是怎么样的了。
 
在 PostData 里面了吧,你把 PostData 显示出来看看? [:)]
 
笨办法
获得完整的URL,再
ExtractStrings(['?'], [], url, Strings);//Strings:TStringlist;
 
你们说的方法我都试过了,都不行。
 
Strings.string[1]就是你想要的东西呀
…………………[0]里面是地址
 
后退
顶部