我是内网用户,当我的IE设置代理服务器:'135.35.6.111:808'时,IE可以访问外网,比如访问网页
http://www.ynzsjm.com/Proxy.aspx但是当我取消或修改IE代理服务器IP为一个错误的IP地址,然后用下面的代码来重新设置正确的代理服务器,结果是WebBrowser1并不能正常访问网页,那么,哪里不对?
FProxy:=Format('%s:%s',['135.35.6.111','808']); //111
Pinfo.dwAccessType := INTERNET_OPEN_TYPE_PROXY;
Pinfo.lpszProxy := '135.35.6.111'; //PChar Type
InternetSetOption(nil, INTERNET_OPTION_PROXY, @Pinfo, SizeOf(PInfo));
InternetSetOption(nil, INTERNET_OPTION_SETTINGS_CHANGED, nil, 0);
WebBrowser1.Navigate('http://www.ynzsjm.com/Proxy.aspx');
http://www.ynzsjm.com/Proxy.aspx但是当我取消或修改IE代理服务器IP为一个错误的IP地址,然后用下面的代码来重新设置正确的代理服务器,结果是WebBrowser1并不能正常访问网页,那么,哪里不对?
FProxy:=Format('%s:%s',['135.35.6.111','808']); //111
Pinfo.dwAccessType := INTERNET_OPEN_TYPE_PROXY;
Pinfo.lpszProxy := '135.35.6.111'; //PChar Type
InternetSetOption(nil, INTERNET_OPTION_PROXY, @Pinfo, SizeOf(PInfo));
InternetSetOption(nil, INTERNET_OPTION_SETTINGS_CHANGED, nil, 0);
WebBrowser1.Navigate('http://www.ynzsjm.com/Proxy.aspx');
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}
uses Wininet, registry;
function ChangeProxy(const Proxy, Port,ByPass: string; const bEnabled: boolean = True): boolean;
var
reg: Tregistry;
info: INTERNET_PROXY_INFO;
Fproxy: string;
begin
Result := False;
FProxy :=Format('%s:%s',[Proxy,Port]);
reg :=Tregistry.Create;
try
reg.RootKey :=HKEY_CURRENT_USER;
if reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Internet Settings', True) then
begin
reg.Writestring('ProxyServer', Fproxy);
reg.WriteInteger('ProxyEnable', integer(bEnabled));
info.dwAccessType :=INTERNET_OPEN_TYPE_PROXY;
info.lpszProxy :=pchar(proxy);
info.lpszProxyBypass :=pchar(ByPass);
InternetSetOption(nil, INTERNET_OPTION_PROXY, @info, SizeOf(Info));
InternetSetOption(nil, INTERNET_OPTION_SETTINGS_CHANGED, nil, 0);
Result:=True;
end
finally
reg.CloseKey;
reg.free;
end;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
ChangeProxy('202.99.29.27','80','1',true)end;procedure TForm1.Button2Click(Sender: TObject);
begin
ChangeProxy('202.99.29.27','80','1',false)end;end.