IDHTTP,IdCookieManager,webbrowsers的使用方法
程序员文章站
2022-06-13 09:33:26
...
今晚花了很长时间,到处搜索~~弄了很多东西~~总结一下先~!
从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;
从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;