在页面cs文件中写了个获取jsp返回的字符串,但取出来的却是空,直接在ie上输入jsp地址,页面输出aaa;bbb;ccc,但是确获取不到,哪位大侠能帮忙看看,获取函数如下:    public static string httpWebResponseString(string url, string encode)
    {
        string str = "";
        try
        {
            HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(url);
            httpRequest.UserAgent = @"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.40607; .NET CLR 1.1.4322)";            HttpWebResponse httpResponse = (HttpWebResponse)httpRequest.GetResponse();
            if (httpRequest.HaveResponse)
            {
                StreamReader sr;
                if (encode != null && encode != "")
                {
                    sr = new StreamReader(httpResponse.GetResponseStream(), Encoding.GetEncoding(encode));
                }
                else
                {
                    sr = new StreamReader(httpResponse.GetResponseStream(), Encoding.Default);
                } 
                str = sr.ReadToEnd();
                sr.Close();
                httpResponse.Close();
            }
        }
        catch (Exception ex)
        {        }
        return str;
    }

解决方案 »

  1.   

    在asp.net页面读取jsp页面内容,貌似不好整!
    关注中,帮你顶!
      

  2.   

    Try
       public static string httpWebResponseString(string url, string encode)
        {
            string str = "";
            try
            {
                HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(url);
                httpRequest.Timeout = 666666;
                httpRequest.UserAgent = @"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.40607; .NET CLR 1.1.4322)";            HttpWebResponse httpResponse = (HttpWebRequest)HttpWebRequest.Create(url);
                //if (httpRequest.HaveResponse)
               // {
                    StreamReader sr;
                    if (encode != null && encode != "")
                    {
                        sr = new StreamReader(httpResponse.GetResponseStream(), Encoding.GetEncoding(encode));
                    }
                    else
                    {
                        sr = new StreamReader(httpResponse.GetResponseStream(), Encoding.Default);
                    } 
                    str = sr.ReadToEnd();
                    sr.Close();
                    httpResponse.Close();
               // }
            }
            catch (Exception ex)
            {        }
            return str;
        }
      

  3.   

    public static string httpWebResponseString(string url, string encode)
        {
            string str = "";
            try
            {//======
                HttpWebRequest httpRequest = (HttpWebRequest)HttpWebRequest.Create(url);
                httpRequest.Timeout = 666666;
                httpRequest.UserAgent = @"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.40607; .NET CLR 1.1.4322)";
    //===============晕.搞错位置了
                HttpWebResponse httpResponse = (HttpWebResponse)httpRequest.GetResponse();            //if (httpRequest.HaveResponse)
               // {
                    StreamReader sr;
                    if (encode != null && encode != "")
                    {
                        sr = new StreamReader(httpResponse.GetResponseStream(), Encoding.GetEncoding(encode));
                    }
                    else
                    {
                        sr = new StreamReader(httpResponse.GetResponseStream(), Encoding.Default);
                    } 
                    str = sr.ReadToEnd();
                    sr.Close();
                    httpResponse.Close();
               // }
            }
            catch (Exception ex)
            {        }
            return str;
        }
      

  4.   

    httpWebResponseString("http://www.midea.com.cn/midea2007/index.jsp", null)
    试了一下可以取出数据楼主给个出不来的连接
      

  5.   

    可以的,
    可能是JSP页面的问题
      

  6.   

    jsp页是用out.print输出字符的,在使用out.flush后,httpWebResponseString方法就能获取到字符串,现在这个jsp是查询数据库然后输出满足条件的字符串,结果就无法获取到了,但在IE上却能看到输出的结果,真的是很奇怪的事,哪位有遇到这种情况过吗?
      

  7.   

    汗,不管你是啥语言(asp,jsp,还是php也好),最终输出到客户端的肯定都一样---------html
    所以这个,你只要注意一下编码问题就可以了。其它的应该无所谓的,不要考虑语言。
      

  8.   

    http://my.qfkx.com/387cc5247d11a2bd37d7ceace95c80c6/
      

  9.   

    1 httpRequest.UserAgent的问题 
    修改下或从自己系统里取到后再赋给它 你可能直接引用别人的 有时候会不行2 str = sr.ReadToEnd()取到的是返回页面的全部html格式的文档 要得到想要的内容 还要解析3 try catch使用不当
      最怕就是捕获了异常啥操作也没有 对错也不知道 
        catch (Exception ex)
            {
            throw ex;
            }
    就算不直接抛出来 也要返回个状态啥的啊
        catch (Exception ex)
            {
               return "出错了"+ex.Message;
            }
      

  10.   

    那个jsp页面是不是得登录以后,才会输出aaa;bbb;ccc啊