stream.Write(byteRequest, 0, byteRequest.Length);    //断点2 
            stream.Close();             Stream stream = httpWebRequest.GetRequestStream();  //断点1 
这样看看?
位置反了

解决方案 »

  1.   

    也就是说 包1是在断点1的时候就发出去了,包2在断点2的时候才发出去 
    但是服务器已经在断点1的时候做出反应了,根本不接受包2的信息,请问达人改如何解决
    -------------断点1是建立一个流并初始化,把Header等信息填入
    断点2才是真是把信息POST过去.否则你把断点2的语句注释掉,看服务器是否有反应.
      

  2.   

    谁说IE抓包就是一个包发送完的?
    IE一样是用两个包来发送数据的。第一个就是数据头,第二个才是提交的数据内容。
    你这样做是没有问题的。
    我最近用WebRequest还是挺多的。
    你这样出错很可能是提交的数据不对。关键是那些以“__”开头的字段,千万不要错了。
      

  3.   

    我用sniffer抓包确实是这样的ie发一个包 服务器返回程序发一个包 服务器反应 第二个包不做反应只是没地方上传截图给你看了
      

  4.   

    呵呵,我今天试了一下,还真是象你说的.分两个包,一个是包头,一个是包体.
    但是接收端收到包头后会按照
    Content-Length: 180 
    等待包体.如超时则丢弃,如正常接收,还是按一个完整数据来处理.
    可能这就是HTTP/1.1的协议.
      

  5.   

    这个方法不行我还是改写socket自己处理
      

  6.   

    没有必要啊,处理HTTP请求用WebRequest还是非常方便的。自己用Socket的话,还要自己构造头部,自己解析头部,然后在接收的时候也非常麻烦。
      

  7.   

    自己写了个socket后来发现webrequest是可以用的 结贴