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;

最后修改:2023 年 05 月 16 日
一分也是爱