本帖最后由 zy189404012161 于 2009-08-04 18:15:22 编辑

解决方案 »

  1.   

    汗一个,关于Http,Indy已经封装的很不错了没必要自己用WinSock这么底层的方式来实现吧
    虽然HTTP协议不算复杂,但自己用Socket实现起来工作量也不小http是应用层协议,基于TCP实现,是一种无状态协议
    TCP连接之后,以ASC字符明文传输数据
    建议楼主在这之前看一下HTTP协议,不用深入,简单的了解即可完成你的任务
    {
    下面的代码是发送一个GET请求的例子,随手写的,公供参考
    HTTP协议其实很简单,实现起来不难,就是有点麻烦
    需要自己构造HTTP头和解析数据,就是大量的字符串分析
    比如Host表示要连接的主机头,Content-Length 表示提交数据的长度等
    Status: OK 200 根据服务端返回的状态码来判断执行结果 比如200是成功 500是服务器内部错误等}
    var
      buffer: string;
    begin
      buffer := 'GET /getinfo.asp HTTP/1.1'#13#10;
      buffer := buffer + 'Host: localhost'#13#10;
      buffer := buffer + 'User-Agent: User-Agent=Mozilla/5.0 (Windows; U; Windows NT 5.1)'#13#10;
      buffer := buffer + 'Connection: close'#13#10#13#10;
      SendData(PChar(buffer));