IE代理问题

hpm6750evk2开发板(一)菜鸟入门 hpm6750与我们平时常用的stm单片机在开发环境和开发方法上有很大的区别,所以上手还是需要花一点时间的,拿到板子先不要急着上电调试,我们先找资料学习一下了,免得多走冤枉路,以下是我整理的一些学习资源,包括开发板使用手册、芯片SDK、开发工具、视频资料等,建议先把使用手册和学习视频先看了,再取搭建环境测试。最近刚入手一块hpm6750evk2开发板,花了几天时间学习,算是菜鸟入门了,今天分享一下学习过程。看完资料后,把开发工具安装上,下一篇文章我们分享一下调试工程的过程和遇到的问题。 阅读详情

检测你的IE使用的代理服务器 

 

//-----------------------------------------------
//记得引用 WinInet 单元
//-----------------------------------------------
uses
WinInet

//----------------------------------------------
//定义要使用的函数
//----------------------------------------------




function GetProxyInformation: string;
var
  ProxyInfo: PInternetProxyInfo;
  Len: LongWord;
begin
  Result := ';
  Len := 4096;
  GetMem(ProxyInfo, Len);
  try
    if InternetQueryOption(nil, INTERNET_OPTION_PROXY, ProxyInfo, Len) then
      if ProxyInfo^.dwAccessType = INTERNET_OPEN_TYPE_PROXY then
      begin
        Result := ProxyInfo^.lpszProxy
      end;
  finally
    FreeMem(ProxyInfo);
  end;
end;


procedure GetProxyServer(protocol: string; var ProxyServer: string;
  var ProxyPort: Integer);
var
  i: Integer;
  proxyinfo, ps: string;
begin
  ProxyServer := ';
  ProxyPort := 0;

  proxyinfo := GetProxyInformation;
  if proxyinfo = ' then
    Exit;

  protocol := protocol + '=';

  i := Pos(protocol, proxyinfo);
  if i > 0 then
  begin
    Delete(proxyinfo, 1, i + Length(protocol));
    i := Pos(';', ProxyServer);
    if i > 0 then
      proxyinfo := Copy(proxyinfo, 1, i - 1);
  end;

  i := Pos(':', proxyinfo);
  if i > 0 then
  begin
    ProxyPort := StrToIntDef(Copy(proxyinfo, i + 1, Length(proxyinfo) - i), 0);
    ProxyServer := Copy(proxyinfo, 1, i - 1)
  end
end;
//----------------------------------------------------------------
//使用范例
//----------------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var
  ProxyServer: string;
  ProxyPort: Integer;
begin
  GetProxyServer('http', ProxyServer, ProxyPort);
  if  ProxyPort=0 then
      begin
     ShowMessage('你的IE没有使用的代理服务器')
      end
    else
  Label1.Caption := ProxyServer;
  label2.Caption := IntToStr(ProxyPort);

end;

//Download http file through proxy
//--------------------------------------------------------------------------------
We can find details about Proxy Authentication and Sever Authentication methed in MSDN.
Just search for the keyword "INTERNET_OPTION_USERNAME".
Here I give a very simple example. It works in my project.
CString GeHttptFile(const char *url)
{
CString szContent;
char strProxyList[MAX_PATH], strUsername[64], strPassword[64];
//in this case "proxya" is the proxy server name, "8080" is its port
strcpy(strProxyList, "proxya:8080");
strcpy(strUsername, "myusername");
strcpy(strPassword, "mypassword");
DWORD dwServiceType = AFX_INET_SERVICE_HTTP;
CString szServer, szObject;
INTERNET_PORT nPort;
AfxParseURL(url, dwServiceType, szServer, szObject, nPort);
CInternetSession mysession;
CHttpConnection* pConnection;
CHttpFile* pHttpFile;
pConnection = mysession.GetHttpConnection(szServer,
INTERNET_FLAG_KEEP_CONNECTION,
INTERNET_INVALID_PORT_NUMBER,
NULL, NULL);
pHttpFile = pConnection->OpenRequest("GET", szObject,
NULL, 0, NULL, NULL,
INTERNET_FLAG_KEEP_CONNECTION);
//here for proxy
INTERNET_PROXY_INFO proxyinfo;
proxyinfo.dwAccessType = INTERNET_OPEN_TYPE_PROXY;
proxyinfo.lpszProxy = strProxyList;
proxyinfo.lpszProxyBypass = NULL;
mysession.SetOption(INTERNET_OPTION_PROXY, (LPVOID)&proxyinfo, sizeof(INTERNET_PROXY_INFO));
pHttpFile->SetOption(INTERNET_OPTION_PROXY_USERNAME, strUsername, strlen(strUsername)+1);
pHttpFile->SetOption(INTERNET_OPTION_PROXY_PASSWORD, strPassword, strlen(strPassword)+1);

pHttpFile->SendRequest(NULL);
DWORD nFileSize = pHttpFile->GetLength();
LPSTR rbuf = szContent.GetBuffer(nFileSize);
UINT uBytesRead = pHttpFile->Read(rbuf, nFileSize);
szContent.ReleaseBuffer();
pHttpFile->Close();
delete pHttpFile;
pConnection->Close();
delete pConnection;
mysession.Close();
return szContent;
}
程序代码

//------------------------------------------------------------------
// @ProxyType 代理类型,如HTTP,SOCKS,FTP...
// @ProxyAddr 返回代理服务器的地址
// @ProxyPort 返回代理服务器的端口
// 返回值
// 0: 无错误
// -1: 查询IE的代理失败
// -2: 无此类型的代理
// -3: 其他错误
// -4: 无代理设置信息
int GetIEProxy(CString ProxyType,CString &ProxyAddr,int &ProxyPort)
{
unsigned long nSize = 4096;
char szBuf[4096] = { 0 };

// Read IE settings
INTERNET_PROXY_INFO* pInfo = (INTERNET_PROXY_INFO*)szBuf;
if(!InternetQueryOption(NULL, INTERNET_OPTION_PROXY, pInfo, &nSize))
{
return -1; //查询IE的代理失败!
}

CString strTmp (pInfo->lpszProxy);
if (strTmp.IsEmpty()) return -4;//无代理设置信息
int nStart=0,nPos,nCurLen;

CString strProxyType = ProxyType;
strProxyType += "=";
//此时的结构如下
//socks=192.168.1.100:3080 https=192.168.1.100:808 http=192.168.1.100:808 gopher=192.168.1.100:808 ftp=192.168.1.100:808

strTmp.MakeUpper();//转化为大写
strProxyType.MakeUpper();
nCurLen = strTmp.GetLength();

nPos = strTmp.Find(strProxyType.GetBuffer(0),nStart);
if (nPos>=0)
{
strTmp = strTmp.Right(nCurLen - nPos);
strTmp.TrimLeft();
nCurLen = strTmp.GetLength();
//到此结构如下
//HTTP=192.168.1.100:808 gopher=192.168.1.100:808 ftp=192.168.1.100:808

//获取单独的协议部分
nPos = strTmp.Find(" ",nStart);
if (nPos>=0)
{
strTmp = strTmp.Left(nPos);
strTmp.TrimRight();
nCurLen = strTmp.GetLength();
//到此结构如下
//HTTP=192.168.1.100:808

//取掉协议名称部分
strTmp = strTmp.Right(nCurLen-strProxyType.GetLength());
nCurLen = strTmp.GetLength();
//到此结构如下
//192.168.1.100:808
nPos = strTmp.Find(":",nStart);
if (nPos>0)//必须要大于0
{
ProxyAddr = strTmp.Left(nPos);

strTmp = strTmp.Right(nCurLen-nPos-1);
strTmp.TrimLeft();
strTmp.TrimRight();

ProxyPort = atoi(strTmp);
return 0;
}
else
{
return -3;
}



}
else
{
return -3;
}
}
else
{
return -2;//无此类型的代理
}

}


你这个是旧的方法(IE4 and earlier)了,从IE5开始,最好使用
INTERNET_OPTION_PER_CONNECTION_OPTION来Invoke InternetQueryOption,详细内容可以参考MS Q226473




如何编程动态改变IE的代理服务器设置, 并且使之马上生效!

用到的关键函数是wininet库里面的InternetSetOption. msdn里面有对它详细的介绍, 可以自己去看看. 当把参数dwOption设置为INTERNET_OPTION_SETTINGS_CHANGED的时候. 他就会促使IE在下一次打开网页的时候重新到注册表里面去取代理的设置信息. 所以我们就可以先将注册表里面的代理信息更改掉, 然后调用InternetSetOption函数, 从而达到使自己想要的代理设置马上生效的目的.

下面的函数可以实现改变IE的http代理服务器设置的目的. 里面加了少许的注释以帮助大家理解.

BOOL SetHttpProxy(CString ip, UINT port)
{

CString l_just;
l_just.Format("http=%s:%d", ip.LockBuffer(), port);


//下面的代码将注册表项HKEY_CURRENT_USER//Software//Microsoft//Windows//CurrentVersion//Internet Settings//ProxyServer
//的内容取出来
HKEY hKeyIn = HKEY_CURRENT_USER, hKeyOut;
if( ERROR_SUCCESS != RegOpenKeyEx(hKeyIn, "Software//Microsoft//Windows//CurrentVersion//Internet Settings", 0, KEY_CREATE_LINK | KEY_WRITE | KEY_READ | KEY_NOTIFY, &hKeyOut))
{
return FALSE;
}


ULONG regsize = 0;
if(ERROR_SUCCESS != RegQueryValueEx(hKeyOut, "ProxyServer", NULL, NULL, NULL, ®size))
{
return FALSE;
}

LPBYTE pValue = new BYTE[regsize];
memset(pValue, 0x00, regsize);

if(ERROR_SUCCESS != RegQueryValueEx(hKeyOut, "ProxyServer", NULL, NULL, pValue, ®size))
{
return FALSE;
}

CString oldproxy((char *)pValue);
delete [] pValue;
pValue = NULL;

//从注册表中读出来的数据格式为:http=111.111.111.111:80;ftp=222.222.222.222:21;......,
//如果你只想改变http的代理的话, 就只要把其中的111.111.111.111:80换成你想要的代理就行了,
//类似的你可以改变其他的代理.

//下面的代码就替换http代理成为参数所指定的代理.
int pos = 0;
//如果没有字符串中没有找到"http="说明用户没有设置http代理,这时候直接加在最前面.
if(-1 == (pos = oldproxy.Find("http=")))
{
pos = 0;
}

int pos1 = 0;
if(-1 == (pos1 = oldproxy.Find(";", pos)))
{
pos1 = oldproxy.GetLength();
}

oldproxy.Delete(pos, pos1 - pos);
oldproxy.Insert(pos, l_just);

if(ERROR_SUCCESS != RegSetValueEx(hKeyOut, "ProxyServer", 0, REG_SZ, (const unsigned char *)oldproxy.LockBuffer(), oldproxy.GetLength() + 1))
{
return FALSE;
}

RegCloseKey(hKeyOut);


//使设置生效
if(!InternetSetOption(NULL, INTERNET_OPTION_SETTINGS_CHANGED, NULL, 0))
{
return FALSE;
}


return TRUE;
}


rk3568 点亮双LVDS 屏 承接文章《rk3568点亮LCD(lvds)》中仅仅只能使用亮单LVDS;经过厂商的努力,陆续发布新补丁。目前支持双lvds显示,缺憾是需要自己额外移植相关补丁。受限于通信频率和VOP编码能力,支持最大分辨仍然是1920x1080、60fps。 阅读详情

相关推荐

封神台靶场,为了小芳,冲之——cookie注入

第二个靶场 打开网站 找一下注入点 一般在新闻这种里面点开看看 先判断是否存在注入 有waf 尝试了很多方法绕过都没成功,/and/,aandnd,AnD等一系列都没绕过去,乌鸡鲅鱼 删掉id=169 发现 然后判断cookie注入 在搜索框输入 Javascript:alert(document.cookie=”id=”+escape(‘169’)); 然后弹窗了(其中 “id=” 取决URL中的id= escape中的数值也是URL中id=的值)返回刚刚的页面,把ID删除后一样能正常显示。说明服务器能

Wubuqing的博客 653

python设置internet_使用Python在Windows中设置代理设置(使用InternetSetOption)

事实上,我自己通过大量的尝试和错误发现了这一点。工作示例:from ctypes import *from ctypes.wintypes import *LPWSTR = POINTER(WCHAR)HINTERNET = LPVOIDINTERNET_PER_CONN_PROXY_SERVER = 2INTERNET_OPTION_REFRESH = 37INTERNET_OPTION_SET...

weixin_33402252的博客 1187

散户逆袭神器:用通达信DIY指数发现下一个光伏储能(附龙头股筛选模板)

本文详细介绍了如何利用通达信软件的自定义指数功能,构建个人专属的行业监控工具,以发现类似光伏储能这样的潜力赛道。文章提供了从零开始的指数编制步骤、核心的龙头股筛选模板,以及五个关键的数据校验技巧,帮助散户投资者实现机构级的行业分析与机会挖掘,有效提升投资决策能力。

w3x4y的博客 483

获取IE代理信息

<br />    INTERNET_PROXY_INFO *pIEinfo = NULL;<br />     DWORD dwSize = 0;<br />     BOOL bRet = InternetQueryOption(NULL, INTERNET_OPTION_PROXY, pIEinfo, &dwSize);<br />     pIEinfo = (INTERNET_PROXY_INFO*)new char[dwSize];<br />     bRet = InternetQu

lionzl的专栏 1262

用Python+OpenCV搞定线激光相机标定:从棋盘格到3D点云的保姆级实战

本文详细介绍了使用Python和OpenCV进行线激光相机标定的全流程实战,从硬件准备到3D点云重建。涵盖相机内参标定、激光平面方程拟合、三维重建等关键技术,提供完整的代码实现和工程优化建议,帮助开发者实现毫米级精度的工业检测和三维测量系统。

weixin_29227425的博客 284

【知识图谱】Neo4j基本操作及数据库文件导入(graph.db.dump)

初探Neo4j导入数据备份数据客户端操作导入csv文件指定csv文件格式使用命令行导入csv文件附录 请读者参考上篇博文 Neo4j安装教程 导入数据 若开启服务,先在终端停止 Neo4j 服务 ./neo4j stop 接下来,下载射雕三部曲的数据库文件 wget https://labfile.oss.aliyuncs.com/courses/1354/graph.db.dump 下载完将出现 graph.db.dump 文件: 将数据库文件导入到 Neo4j 中 首先进入neo4j 根目录下:

全网粉丝30W+,优快云、稀土掘金人工智能领域签约作者,人工智能、大模型、Python 爬虫,商务合作,请私信沟通。 8620

获取IE默认代理配置

BOOL GetWinetProxy(LPSTR lpszProxy, UINT nProxyLen) { unsigned long        nSize = 4096; char                 szBuf[4096] = { 0 }; INTERNET_PROXY_INFO* pProxyInfo = (INTERNET_PROXY_INFO*)szBuf; i

章志强的专栏 2131

第12步 支持向量机(SVM)

搭建SVM

Jet4505的博客 1051

代理IP批量验证程序

#include &lt;afxinet.h&gt; #include &lt;afxwin.h&gt; #include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; #pragma comment(lib,"wininet.lib") using namespace std; CString content...

晚晴小筑 728

【脑电信号】脑电信号EEG形态学滤波处理【含Matlab源码 4023期】

脑电信号EEG形态学滤波处理 完整的代码,包运行;运行操作视频见优快云资源!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 823

ABAP Module Pool 编程入门:把 Table Control 用透,在 Dynpro 里做出可编辑的列表界面

摘要:Table Control是SAP GUI中用于对话式事务的多行数据交互控件,具备滚动、选择、修改等功能。它通过CXTAB_CONTROL/CXTAB_COLUMN结构实现动态控制,需在PBO/PAI中配合LOOP循环处理数据流。开发时需注意LINES、TOP_LINE等关键字段设置,并采用并行循环简化编码。典型应用包括订单行维护、主数据管理等场景,支持多选删除、列排序等业务需求。(150字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 343

Internet API 使用代理

1.  相关函数:  HINTERNET  WINAPI  InternetOpen(    LPCTSTR  lpszAgent,      DWORD  dwAccessType,      LPCTSTR  lpszProxy,      LPCTSTR  lpszProxyBypass,      DWORD  dwFlags);     BOOL  WINAPI  InternetSe

章志强的专栏 2325

Open3D (C++) 使用点云创建数字高程模型DEM

Open3D (C++) 使用点云创建数字高程模型DEM

点云侠的博客 1392

C#设置IE代理及遇到问题的解决方案

C#设置IE代理及遇到问题的解决方案

jcoiwenwfkowe的博客 221

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

loadrunner的ie代理问题

脚本录制好后回放。提示如下, Virtual User Script. started Starting action vuser_init. Web Turbo Replay of LoadRunner 9.10.0 for WINXP; WebReplay85 build 5896   [MsgId: MMSG-27143] Run Mode: HTML   [MsgId: M

2625

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

window10系统ie设置代理,保存不了的问题

最近碰到了如下问题,电脑重装了window10系统后,ie没法设置代理,具体表现为,按照下图操作后,点击保存按钮没有反应,设置页面也不会自动关闭。再次进入设置页面,根本没有保存成功。通过window10的系统设置也是一样,点击保存没有反应,再次进入保存页面,根本没有保存成功。 谷歌了windows10 proxy setting cant besaved,了后找到一个靠谱的回答。如果大家打...

qq_27886773的博客 7640

Win10 IE浏览器代理服务器没有响应 问题解决方法

电脑在使用的过程中,IE浏览器突然就会报出 代理服务器没有响应 的问题,如下图所示:以下解决方法:1、在浏览器右上角点击 设置-&gt;Internet选项:2、转到 连接-》局域网设置:3、将 自动检测设置 和 为LAN使用代理服务器 前面的√取消4、点击确定,刷新页面或者重新打开浏览器即可正常使用。...

C-Jonn 2万+

JavaScript中的常见问题(乱码,IE缓存,代理)

 解决AJAX中文乱码常用的两种方法1. 在客户端进行encodeURI(utf-8也可以不做,默认),在服务器端将iso-8859-1编码转为utf-8编码2.在客户端进行两次encodeURI,在服务器端进行一次转换。第2种方法能解决问题的原因:    进行两次转换后,在第一次getparameter方法中进行第一次解码,因为解出来的是英文(第一次encode之后的结果),

jubincn的专栏 1970

IE代理服务器设置被禁用问题

  有时管理员为了限制上网,将IE代理服务器设置禁用了,我们只要通过组策略将其启用即可。  单击“开始->运行”,输入“gpedit.msc”打开组策略:  对于IE5.0/6.0 ,依次展开“用户配置->管理模板->Windows组件->Internet Explorer”,然后将右侧窗口中的“禁用更改代理服务器设置”策略改成“未配置”或“已禁用”即可。  IE7.0的位置变了一下,

hijack-x's Blog 2万+

使用代理导致IE host被修改问题的解决方案

问题原因:如果没有正确地使用vpn,导致代理端口没有自动关闭,因此出现这种host被篡改的现象,IE也无法正常使用。 1.打开网络和共享中心 2.进入Internet选项 3.点击连接,进入设置 4.取消勾选代理服务器(若本没有勾选,重新勾选并取消就好) 5.这样就可以重新连接上网了,暂时没有失败的情...

weixin_30684743的博客 2005

用反向代理nginx proxy_pass配置解决ie8 ajax请求被拦截问题 ie8用nginx代理实现跨域请求访问 nginx405正向代理request_uri...

最近调PC版网站ie8的兼容性,发现所有ajax请求还没到后端服务器就直接ajax error了 ie8发不出ajax请求,断点调试发现ajax全进入了error,提示“No transport” 我是访问本机网站项目,所以配的是localhost,ie8不能像chrome浏览器通过启动命令开启跨域限制,所以用nginx对ajax请求做proxy_pass中转了 具体配置如下: ser...

weixin_33939380的博客 516

都是IE代理惹得祸

这真的不是 浏览器缓存。

灯火阑珊处 774

ie11 .pac代理脚本无法使用的问题

参考: http://blogs.msdn.com/b/ieinternals/archive/2013/10/11/web-proxy-configuration-and-ie11-changes.aspx ie10以后proxy不支持file://c:/proxy.pac这种格式的url 转载于:https://www.cnblogs.com/jenqz/p/361156...

weixin_30892763的博客 715

ie11 .pac代理脚本无法使用的问题2

http://blogs.msdn.com/b/ieinternals/archive/2013/10/11/web-proxy-configuration-and-ie11-changes.aspx 转载于:https://www.cnblogs.com/jenqz/p/3620951.html

weixin_30633405的博客 588
上一篇: 各种网站挂马的代码和原理
下一篇: Local System 权限读取用户IE 代理设置的研究及简单HTTP代理验证
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值