AI摘要
本文介绍了如何在Cef4中动态设置代理IP。通过在OnChrmBeforeBrowse事件中设置代理IP地址,首先检查IP地址格式,然后创建ICefValue和ICefDictionaryValue对象,设置代理模式和服务器地址,最后通过SetPreference方法应用代理设置。
本文介绍了如何在Cef4中动态设
Cef4动态设置代理IP方法
procedure TfrmMain.OnChrmBeforeBrowse(Sender: TObject;
const browser: ICefBrowser; const frame: ICefFrame;
const request: ICefRequest; user_gesture, isRedirect: Boolean;
out Result: Boolean);
var
TempError : ustring;
TempProxy : ICefValue;
TempValue : ICefValue;
TempDict : ICefDictionaryValue;
str_proxyIP : string;
begin
str_proxyIP :='你的代理IP地址';//格式127.0.0.1:8888
if Pos(':', str_proxyIP)>0 then
begin
try
if (browser <> nil) and
(browser.Host <> nil) and
(browser.Host.RequestContext.CanSetPreference('proxy'))
then
begin
TempProxy := TCefValueRef.New;
TempValue := TCefValueRef.New;
TempDict := TCefDictionaryValueRef.New;
TempValue.SetString('fixed_servers');
TempDict.SetValue('mode', TempValue);
TempDict.SetString('server', str_proxyIP);
TempProxy.SetDictionary(TempDict);
browser.Host.RequestContext.SetPreference('proxy', TempProxy, TempError);
end;
finally
TempProxy := nil;
TempValue := nil;
TempDict := nil;
end;
end;
end;