首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

request.GetResponse (500) 内部服务器异常

2013-03-06 
request.GetResponse(500) 内部服务器错误 private string GetWebForm(string url, string data, CookieCo

request.GetResponse (500) 内部服务器错误
 private string GetWebForm(string url, string data, CookieContainer myCookieContainer)   //提交表单,获取登陆返回信息
        {
            HttpWebRequest request;
            HttpWebResponse response;
            request = (HttpWebRequest)WebRequest.Create(url);
            request.Method = "POST";
            request.ContentType = "application/x-www-form-urlencoded";
            request.CookieContainer = myCookieContainer;  //设置cookie

            //注意参数为中文时需要编码
            //System.Web.HttpUtility.UrlEncode("搜 索", Encoding.GetEncoding("gb2312"));          
            byte[] byteRequest = Encoding.GetEncoding("gb2312").GetBytes(data);
            request.ContentLength = byteRequest.Length;
            Stream stream = request.GetRequestStream();
            stream.Write(byteRequest, 0, byteRequest.Length);
            stream.Close();
            response = (HttpWebResponse)request.GetResponse();  //这句500错误
            //try
            //{
            //    response = (HttpWebResponse)request.GetResponse();
            //}
            //catch (WebException ex)
            //{
            //    response = (HttpWebResponse)ex.Response;
            //}
            StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("UTF-8"));
            string Msg = reader.ReadToEnd();
            stream.Dispose();
            reader.Dispose();
            return Msg;
        }
调用:
CookieContainer myCookieContainer = new CookieContainer();
            string url = "http://180.166.7.150:8880/captcha.do?phoneNumber=13018917111&province=sh";
            string s = GetWebForm(url,"",myCookieContainer);


这个地址直接用浏览器是不能访问的,
用        try
            {
                response = (HttpWebResponse)request.GetResponse();
            }
也是得出浏览器的错误返回信息。
但是我用浏览器抓包明明是有正常返回的,用发包得到的结果都是跟浏览器直接访问地址一样的结果
     request.GetResponse  (500) 内部服务器异常request.GetResponse  (500) 内部服务器异常request.GetResponse  (500) 内部服务器异常 post 500?内部服务器错误 request.GetResponse
[解决办法]
HTTP 头检查下。 有的服务器有检测机制,弄的和浏览器提交的完全一样事实。

热点排行