【问题标题】:How To Handle Proxy Authorization如何处理代理授权
【发布时间】:2013-07-22 11:41:19
【问题描述】:

如何正确使用需要身份验证的代理。波纹管代码仅适用于不需要授权的代理。

procedure SetProxy(username, password, proxy: ansistring);
var
    proxy_info : PInternetProxyInfo;
begin
    New(proxy_info);
    UrlMkSetSessionOption(INTERNET_OPTION_PROXY_USERNAME, PAnsichar(username), Length(username)+1, 0);
    UrlMkSetSessionOption(INTERNET_OPTION_PROXY_PASSWORD, PAnsichar(password), Length(password)+1, 0);
    proxy_info^.dwAccessType := INTERNET_OPEN_TYPE_PROXY;
    proxy_info^.lpszProxy := PAnsiChar(proxy);
    proxy_info^.lpszProxyBypass := PAnsiChar('');
    UrlMkSetSessionOption(INTERNET_OPTION_PROXY, proxy_info, SizeOf(Internet_Proxy_Info), 0);
end;

procedure TForm3.FormCreate(Sender: TObject);
begin
    SetProxy('username','password','YYY.YYY.YYY.YYY:XXX');
    EmbeddedWB1.Navigate('http://www.whatsmyuseragent.com/');    
end;

【问题讨论】:

  • 你为什么不使用TEmbeddedWB.ProxySettings设置?
  • @TLama 已测试将无法正常工作。验证窗口弹出。这是更好的清洁解决方案。如果它只是有效,那就是。

标签: delphi delphi-xe4


【解决方案1】:

我注意到很多人喜欢用手鼓跳舞。 ;/

procedure TForm1.FormCreate(Sender: TObject);
begin
embeddedwb1.ProxySettings.SetProxy('ololo user agent','yourProxyServer:port');
embeddedwb1.Navigate('about:blank'); // still use proxy
embeddedwb1.Navigate('your URI here');
end;

【讨论】:

    猜你喜欢
    • 2014-10-13
    • 2016-05-30
    • 2012-03-22
    • 1970-01-01
    • 2013-06-06
    • 2012-11-01
    • 2015-04-09
    • 2020-10-28
    • 1970-01-01
    相关资源
    最近更新 更多