获取IE默认代理配置

130 篇文章 1 订阅
85 篇文章 0 订阅
BOOL GetWinetProxy(LPSTR lpszProxy, UINT nProxyLen)
{
unsigned long        nSize = 4096;
char                 szBuf[4096] = { 0 };
INTERNET_PROXY_INFO* pProxyInfo = (INTERNET_PROXY_INFO*)szBuf;
if(!InternetQueryOption(NULL, INTERNET_OPTION_PROXY, pProxyInfo, &nSize))
{
return FALSE;
}
if (pProxyInfo->dwAccessType == INTERNET_OPEN_TYPE_DIRECT)
{
return FALSE;

}

//这里是代理列表,以\0分隔,结束处两个\0\0,一般我们取第一条代理就够了

LPCSTR lpszProxyList = (LPCSTR)(pProxyInfo + 1);
int nLen = strlen(lpszProxyList);
if (lpszProxy)
{
nProxyLen = min(nLen, nProxyLen-1);
strncpy(lpszProxy, lpszProxyList, nProxyLen);
lpszProxy[nProxyLen] = 0;
}
return nLen;



/*INTERNET_PER_CONN_OPTION_LISTA    List;
INTERNET_PER_CONN_OPTIONA         Option[1];
unsigned long                    nSize = sizeof(INTERNET_PER_CONN_OPTION_LISTA);


Option[0].dwOption = INTERNET_PER_CONN_PROXY_SERVER;
List.dwSize = sizeof(INTERNET_PER_CONN_OPTION_LIST);
List.pszConnection = NULL;
List.dwOptionCount = 1;
List.dwOptionError = 0;
List.pOptions = Option;


if(!InternetQueryOptionA(NULL, INTERNET_OPTION_PER_CONNECTION_OPTION, &List, &nSize))
{
return FALSE;
}
if(Option[0].Value.pszValue != NULL) 
{
int nLen = strlen(Option[0].Value.pszValue);
if (lpszProxy)
{
nProxyLen = min(nLen, nProxyLen-1);
strncpy(lpszProxy, Option[0].Value.pszValue, nProxyLen);
lpszProxy[nProxyLen] = 0;
}
GlobalFree(Option[0].Value.pszValue);
return nLen;
}*/
return FALSE;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值