如题,具体问题是我向某个网站多线程POST提交验证数据,返回数据量过大,求一个思路解决网络占用问题

解决方案 »

  1.   

    这个一般是POST数据格式不对,或 Content-Length 与正文长度不一致造成的。
      

  2.   

    [align=left] HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://xxx.com");
                        request.CookieContainer = new CookieContainer();
                        CookieContainer cookie = request.CookieContainer;
                        request.Accept = "Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
                        request.Headers["Accept-Language"] = "zh-CN,zh;q=0.";
                        request.Headers["Accept-Charset"] = "GBK,utf-8;q=0.7,*;q=0.3";
                        request.UserAgent = "User-Agent:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1";
                        request.KeepAlive = true;
                        request.ContentType = "application/x-www-form-urlencoded";
                        request.Method = "POST";
                        request.Timeout = 6000000;                    Encoding encoding = Encoding.UTF8;//根据网站的编码自定义   
                        byte[] postData = encoding.GetBytes("UserName=test&UserPass=123456&submitButton=%B5%C7%C2%BC");
                       
                        request.ContentLength = postData.Length;
                        Stream requestStream = request.GetRequestStream();
                        requestStream.Write(postData, 0, postData.Length);                    HttpWebResponse response = (HttpWebResponse)request.GetResponse();                    if (response.StatusCode != HttpStatusCode.OK) //如果服务器未响应,那么继续等待相应
                            continue;                    URI uri = response.ResponseUri;
        response.Close();
                        requestStream.Dispose();
                        request.Abort();[/align]
    以上是我post提交的代码 response对象返回了响应后的整个资源,有什么办法可以限制返回的资源量