很多程序需要使用‘浏览器设置’的代理服务器,IE设置的代理服务器有可能是需要账号密码的。怎样编程获取浏览器设置的代理服务器的账号密码呢?

InternetQueryOption(NULL, INTERNET_OPTION_PASSWORD, buf, &len)

这个方法被证明不能达到我们的目标。INTERNET_OPTION_PASSWORD只能用于获取特定连接的密码,也就是说只有当你对某个连接设置了密码之后,你根据连接的句柄才能获取这个连接的密码。这不是我们想要的功能。

那么怎样才可以获取IE里面的代理服务器的账号密码呢?关键在于控制面板->用户->凭证管理器,IE的代理服务器账号密码都在这里管理。

既然windows自己有界面可以管理IE代理服务器的账号密码,那么系统里就一定有对应的API可以实现这个功能。

BOOL cred(TCHAR* ip, CString& usr, CString& pwd)
{
usr.Empty();
DWORD dwCount = 0;
PCREDENTIAL * pCredArray = NULL ;
if( CredEnumerate( NULL, 0, &dwCount, &pCredArray ) )
{
for( DWORD dwIndex = 0; dwIndex < dwCount; dwIndex++)
{
PCREDENTIAL pCredential = pCredArray[dwIndex];
CString target = pCredential->TargetName;
if (target == ip)
{
usr = pCredential->UserName;
#ifdef _UNICODE
pwd = (LPCWSTR)pCredential->CredentialBlob;
#else
pwd = CW2A((LPCWSTR)pCredential->CredentialBlob);
#endif
break;
}
} CredFree( pCredArray );
}
return (usr.GetLength() > 0);
}

上述代码可以获取特定IP的代理服务器的账号密码。也就是获取IE浏览器设置的代理服务器的账号密码。

[C++] 获取IE代理服务器的账号密码的更多相关文章

  1. 利用PPPOE认证获取路由器中宽带账号密码

    前言 回家时买了一台极路由准备换掉家里老掉牙的阿里路由器,想进后台看一下宽带账号密码,咦???后台密码是什么来着??? 我陷入了沉思,家里的路由器一般都是pppoe拨号,而路由器在与pppoe认证服务 ...

  2. c#登录时保存账号密码到cookie

    登陆界面有用户名.密码输入框,一个’记住账号密码‘的复选框. 1.登录时,勾选‘记住账号密码‘复选框,则会把用户名密码保存在客户端cookie里,保存时间为最大值(直到用户清除浏览器缓存或者取消勾选’ ...

  3. 【漏洞复现】局域网 ARP 中间人攻击 获取他人账号密码

    日期:2019-07-18 14:24:42 更新: 作者:Bay0net 介绍:如何在局域网内,窃取其他用户的账号密码? 0x01. 漏洞环境 攻击工具 arpspoof 基本用法: arpspoo ...

  4. 已知服务器ftp的账号密码,求解数据库表的内容

    一开始觉得这两个是完全不相干的东西,直到出现了这样一个问题,对方网站只有ftp的账号密码,并且能正常访问到代码.但是当需求了解注册人数的时候,后台没有显示,只能到数据库去找,这时怎么找呢? 原来是可以 ...

  5. APP账号密码传输安全分析

            最近在搞公司的安卓APP测试(ThinkDrive 企邮云网盘)测试,安卓app测试时使用代理抓包,发现所此app使用HTTP传输账号密码,且密码只是普通MD5加密,存在安全隐患,无法 ...

  6. localStorage保存账号密码

    首先是判断浏览器是否支持这一属性,他是HTML5里的属性: if(window.localStorage){ alert('支持');}else{ alert('不支持');} localStorag ...

  7. C# ASP.NET MVC:使用Cookie记住账号密码

    MVC记住账号密码 使用cookie操作 前端: <div> 用户名:<input type="text" id="UserName" val ...

  8. SQL Server遗失管理权限账号密码怎么办?

    假如一个SQL Server实例只允许"SQL身份认证"模式登录数据库,而糟糕的是你忘记了sa的密码(sa出于安全考虑应该被禁用,这里仅仅为了描述问题)或其它具有sysadmin角 ...

  9. centos6.5中部署Zeppelin并配置账号密码验证

    centos6.5中部署Zeppelin并配置账号密码验证1.安装JavaZeppelin支持的操作系统如下图所示.在安装Zeppelin之前,你需要在部署的服务器上安装Oracle JDK 1.7或 ...

随机推荐

  1. python 对象的封装性

  2. Seata 0.7.0 正式发布

    Seata 是 阿里巴巴 开源的 分布式事务中间件,以 高效 并且对业务 0 侵入 的方式,解决 微服务 场景下面临的分布式事务问题.Seata 0.7.0 已正式发布,本次共合并59pr,主要包括: ...

  3. JavaScript实现,控制一个文本框只能输入正整数,如输入不符合条件则文本框全部字体标红

    腾讯2014年研发职位笔试题Web前端方向简单题第一题. 代码: <html> <head> <title>test JavaScript</title> ...

  4. 设置onselectstart在ie浏览器下对于input及textarea标签页会生效

    设置onselectstart在ie浏览器下对于input及textarea标签页会生效, 可以使用js来控制对于某种标签不生效,代码如下: document.onselectstart = disa ...

  5. hdu5443 线段树 长春网赛

    #include<stdio.h> #include<string.h> #define lson l,m,rt<<1 #define rson m+1,r,rt& ...

  6. 2019-8-29-dotnet-core-使用-sqlite-部署到-Centos-服务器

    title author date CreateTime categories dotnet core 使用 sqlite 部署到 Centos 服务器 lindexi 2019-08-29 19:1 ...

  7. python 错误类型

  8. Oracle事物处理

    n  什么是事物 事物是把对数据库的一系列操作(dml)看做一个整体 事物用于保证数据的一致性,它由一组相关的dml语句组成,改组的dml语句要么全部成功,要么全部失败. 如:网上转账就是典型的要用事 ...

  9. Java练习 SDUT-2618_手机键盘

    手机键盘 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 大家应该都见过那种九键的手机键盘,键盘上各字母的分布如下图所示 ...

  10. javascript中字符的一些常规操作

    1,获取第一个字符 var str = "hello word"; console.log(str[0]); // h 2,获取最后一个字符 var str = "hel ...