Indy的IdTCPClient等组件,代理服务器只支持Socks4、Socks5协议,但现在很多公司只支持HTTP代理协议
哪位DX知道解决方法?
分数不够另外开贴!
哪位DX知道解决方法?
分数不够另外开贴!
解决方案 »
- 关于数据库连接的问题
- 何处有能用的条码控件?
- 如何判断在TStringGrid中某中Cells中输入的值是否是Float型?
- 高分请教,怎么发布sqlserver的delphi文件啊?
- delphi最好的书是什么?
- 将dos内部命令结果输出到Console Window
- 请问我是DEPHI 6 + window 2000 + sql server , 在这样的环境下,我还需要安装ADO补丁吗
- 如何启动VisiBroker中的名字服务nameserv?(corba)
- 程序设置为开机自启动后配置文件读不到
- 困了!累了!睡觉了!我叫你睡不着
- UpDown的OnChangeEx事件中的Direction参数的问题
- 在用webbrowser时,如何阻止弹出的脚本错误信息
自己找资料吧
但目前很多公司上网都是用HTTP代理的
没有高手出现。。
这个比较好,
TWSocket 等等
www.2ccc.com上有下的,delphi7/2006都支持,
下载了ICS,不过TWSocket好象也不支持HTTP代理,不管怎么样,谢谢!
今天查了些资料,帮你搞店
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;