我的项目也有这个功能,我是在ServerSocket端用一个表存了用户名和密码
登录的时候需要验证,如果不对则socket.close;
你可以一次发送啊
THead=record
   name:string;
   PassWord:string;
socket.sendbuf来发送效率更高

解决方案 »

  1.   

    要过代理服务器,首先要向代理服务器申请连接(一般是port:1080),得到一个代理服务器分配的端口号,然后才可以向该端口发送数据,再由代理转发给你申请时指定目的地址和端口。
    申请的报文格式,参见rfc1928
      

  2.   

    to netfairy
      我也这样想的呀!ClientSocket和代理服务器保持着连接,然后ClientSocket发送http协议呀!但由于我们单位代理是需要身份验证!
    由于我对http协议不太了解,发送后总返回错误“HTTP/1.1 400 错误的请求”
      

  3.   

    Fproxyusername:='123';
      Fproxypassword:='456';
      head:='get http://www.sina.com.cn HTTP/1.1'+#13+#10;;
      head:=head+'Authorization:Basic '+EncodeStr (FProxyUsername+':'+FProxyPassword)+#13+#10;
      ClientSocket1.Socket.SendText(head+#13+#10);
    改了一下,结果ClientSocket1Read没有返回任何东西!!晕