动态使用代理服务器

该日志由 samool 发表于 2006-07-09 9:58 AM



动态使用代理服务器,今天我自己封装了一个函数,在盒子上面下载一个源码,把里边的过程综合了一下,封装成一个代理专用的函数,呵呵,收藏起来,方便以后使用。另外还有一种方法也可以使用代理服务器,那就是ihttp下载文件的时候使用代理服务器。

function SetProxy(proxyS,proxyP:string;isUse:BOOL);
//proxyS: 代理服务器IP地址
//proxyP: 代理服务器端口
//isUse:  true表示启用   false表示停用
var FProxy,proxy,port: string;
    Pinfo: INTERNET_PROXY_INFO;
    reg: Tregistry;
begin
    //设置代理服务器
    proxy:=proxyS;  //服务器地址
    port:=proxyP;   //服务器端口
    FProxy:=Format('%s:%s',[Proxy,port]);
    Pinfo.dwAccessType := INTERNET_OPEN_TYPE_PROXY;
    Pinfo.lpszProxy := pchar(proxy);
    //Pinfo.lpszProxy := pchar(FProxy);
    InternetSetOption(nil, INTERNET_OPTION_PROXY, @Pinfo, SizeOf(PInfo));
    InternetSetOption(nil, INTERNET_OPTION_SETTINGS_CHANGED, nil, 0);

    //根据参数来调整注册表
    reg:=Tregistry.Create;
    try
        reg.RootKey := HKEY_CURRENT_USER;
        if reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Internet Settings', True) then
        begin
                reg.Writestring('ProxyServer', FMproxy);
                if isUse then
                reg.WriteInteger('ProxyEnable', integer(true))
                else
                reg.WriteInteger('ProxyEnable', integer(false));
        end;
    finally
        reg.CloseKey;
        reg.free;
    end;
end;

使用idhttp控件,调整代理服务器参数也可以实现通过代理服务器访问。

idhttp1.ProxyParams.ProxyServer :=proxyip.Text ;//代理地址
idhttp1.ProxyParams.ProxyPort :=StrToInt(port.text);//端口
//如果代理需要验证
idhttp1.ProxyParams.ProxyUsername:=uname.Text ;//用户名
idhttp1.ProxyParams.ProxyPassword:=pw.Text ; //密码

 傻猫网络日志标签:    代理, delphi, 源码  tiffany jewelry  
网摘: Yahoo Baidu Google Bolaa 365Key Yesky Wozhai POCO ViVi YouNote Hexun Del.icio.us Yeeyoo igooi I2Key Cn3 Bytemen Furl Blinklist Blogmarks Technorati 分享到饭否
相关文章: (最多只显示5条记录)
如何判断按下的是回车键? (浏览:2313, 评论:0)
Borland把Delphi卖掉了 (浏览:1923, 评论:0)
Delphi如何开发游戏外挂 (浏览:3078, 评论:0)
Delphi大富翁论坛离线数据大全 (浏览:1969, 评论:0)
基于delphi的bho开发笔记 (浏览:3029, 评论:0)
发表评论:( 来了就留个脚印吧!你的参与是我最大的动力!)

    

(单击图片换张图片)