博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
delphi 获取webbrowser的cookies给Idhttp用
阅读量:6654 次
发布时间:2019-06-25

本文共 1262 字,大约阅读时间需要 4 分钟。

网上方法一:(可获取,但不完全)

 引用mshtml;

   IHTMLDocument(wb1.Document).cooke; 

网上方法二:(获取不到!)

引用winnet,使用InternetGetCookieEx

function GetCookie(url: string): string;
const
  INTERNET_COOKIE_HTTPONLY     = $00002000;
  INTERNET_COOKIE_THIRD_PARTY  = $00000010;
  INTERNET_FLAG_RESTRICTED_ZONE= $00020000;
var
  hModule:THandle;
  InternetGetCookieEx:function(lpszUrl, lpszCookieName,lpszCookieData: PChar; var lpdwSize: DWORD;dwFlags:DWORD;lpReserved: Pointer): BOOL;StdCall;
  CookieSize:DWORD;
  cookiedata:PWideChar;
  thebool:bool;
begin
  result := '';
  hModule:=GetModuleHandle('wininet.dll');
  if hModule<>0 then
  begin
    @InternetGetCookieEx:=GetProcAddress(hModule,'InternetGetCookieExW');
    if @InternetGetCookieEx<>nil then
    begin
      CookieSize:=10240;
      Cookiedata := AllocMem(CookieSize);
      thebool:=InternetGetCookieEx(PWideChar(url),nil,CookieData,CookieSize,INTERNET_COOKIE_HTTPONLY,nil);
      if thebool then result := CookieData;
      FreeMem(Cookiedata);
    end;
    FreeLibrary(hModule);
  end;
end;

方法三:

引用winnet,直接调用InternetGetCookie

function GetWBCookies(URL: string): string;

var
  data : array[0..10240] of Byte;
  datalen : cardinal;
begin
  Result  := '';
  datalen := sizeof(data);
  if InternetGetCookie(PChar(URL), nil, @data,datalen) then
    Result := PChar(@data);
end;

转载于:https://www.cnblogs.com/xtfnpgy/p/9285374.html

你可能感兴趣的文章
企业互联网应用高性能解决之道
查看>>
分享 10 个你可能不知道的 Laravel Eloquent 小技巧
查看>>
[心得]SpringBoot使用addCorsMappings配置跨域的坑
查看>>
优雅的在React组件中注册事件
查看>>
深入解析Node.js使用MySQL连接池
查看>>
Web安全之XSS攻击与防御小结
查看>>
对网站而言,虚拟主机和云服务器怎么选?
查看>>
智能合约之 eosio.cdt 我们需要知道的那些事
查看>>
请求时token过期自动刷新token
查看>>
Vue木桶布局插件
查看>>
Java开发自学学不好的原因!初学者必看
查看>>
es6基础0x018:类、继承、重写、超类调用
查看>>
redux源码分析之四:compose函数
查看>>
一个简单的图片懒加载
查看>>
node.js调用C++函数
查看>>
PHP安装及与apache整合
查看>>
October CMS - 快速入门 14 保存Form Widget的数据
查看>>
Python爬虫实战案例-爬取币世界标红快讯
查看>>
仿"米丫天气App"-Vue项目总结
查看>>
以太坊客户端Geth命令用法-参数详解
查看>>