本帖最后由 yangbear111 于 2010-11-27 21:06:31 编辑

解决方案 »

  1.   

    Cookie写在本地,服务器发送SetCookie请求时,你本地需要固化,你上服务器去找?
      

  2.   

    我是直接取服务器返回的SetCookie:然后重组,好像确实是丢失了一段
      

  3.   


    那到不是一定要固化的,看你的回答,你说 “好像确实是丢失了一段”  这是不能好像的,因为对方的服务器无论是验证cookie还是验证session都依赖于你的cookie如果这个有丢失的话,那很难保证正确另外也有可能对方对refer或者是 user-agent有限制,这些都是要考虑的
      

  4.   

    但是为什么我用wininet访问会很正常呢
      

  5.   


    无论用什么技术,首先看原理,如果你用wininet是成功的,建议你用抓包工具分析一下socket方式和wininet方式的不同
      

  6.   

    我通过抓包发现确实是cookie缺少一段,但是我不知道如何用socket获取完整的cookie
      

  7.   

    分析服务器的相应头(空行之前的部分)中所有的“SetCookie:...”打头的行,解析出其中的名值对(name=value),去掉路径、时效等部分,在下次发送请求的时候将这些名值对紧随在"Cookie:"域后发送,多个名值对中间用分号(;)分割,全部cookies单独占用一行(\r\n)
    服务器可能验证Referer,协议版本(1.0 或 1.1)若用弄明白,还是应用仔细研读HTTP协议