Indy的IdTCPClient等组件,代理服务器只支持Socks4、Socks5协议,但现在很多公司只支持HTTP代理协议
哪位DX知道解决方法?
分数不够另外开贴!

解决方案 »

  1.   

    HTTP Tunnel代理即可支持
    自己找资料吧
      

  2.   

    idhttp有ProxyParams属性,下有ProxyServer及ProxyPort,直接写上http代理服务器的ip地址及端口号就可以了
      

  3.   

    idhttp是可以用http代理的,但idtcpclient没有找到办法哈,关注!!
      

  4.   

    是啊,搞得我目前的程序只支持Socks4、Socks5
    但目前很多公司上网都是用HTTP代理的
    没有高手出现。。
      

  5.   

    试试ICS组件,
    这个比较好,
    TWSocket 等等
    www.2ccc.com上有下的,delphi7/2006都支持,
      

  6.   

    多谢“yyq_leaf(冷血)”!
    下载了ICS,不过TWSocket好象也不支持HTTP代理,不管怎么样,谢谢!
      

  7.   

    晕哦,这么久还没解决吗?
    今天查了些资料,帮你搞店
    procedure TForm1.Button1Click(Sender: TObject);
    var
            repl: TIdRFCReply;  //需要uses IdRFCReply;
            s, s1: String;
    begin
            //本机上装了superproxy软件,http代理端口为8090
            IdTCPClient1.Port:= 8090;
            IdTCPClient1.Host:= '127.0.0.1';
            IdTcpClient1.Connect();
            IdTCPClient1.SendCmd('CONNECT 127.0.0.1:8090 HTTP/1.0'#13#10#13#10);
            repl:= IdTCPClient1.LastCmdResult;
            if repl.ReplyExists then
            begin
                    Memo1.Lines.AddStrings(repl.Text);
                    if (Pos('200', repl.Text[0])>0) then
                    begin
                            //代理服务器连接成功,发送http get请求
                            IdTCPClient1.SendCmd('GET http://www.zgzcw.com/ HTTP/1.0'#13#10+
                                    'Accept: text/html,text/plain;q=0.7,image/png,image/jpeg,image/gif;q=0.4,*/*;q=0.6'#13#10+
                                    'User-Agent: User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)'#13#10+
                                    'Host: www.zgzcw.com'#13#10+
                                    'Proxy-Connection: close'#13#10#13#10);
                            s:='';
                            while(True) do
                            begin
                                    sleep(100);//等待数据接收期间,休息
                                    s1:= IdTCPClient1.CurrentReadBuffer;
                                    if Length(s1)=0 then
                                            break //已到数据尾部
                                    else
                                            s:= s+s1;
                            end;
                            Memo1.Lines.Add(s);
                    end;
            end;
            IdTCPClient1.Disconnect;
    end;
      

  8.   

    tidhttp本身就支持http代理,设设属性就行了。
      

  9.   

    谢谢erhan(二憨),好久没上来了。我先试试看