当前位置:编程学习 > JAVA >>

代码实现get提交后返回结果页面html代码不齐只有3份之2的html代码为什么?


使用这个方法实现post或get提交后输出返回结果页面html代码不齐只输出出3份之2的html代码为什么?
会不是是返回结果内容太多了?


public static String sendGet(String url, String param) {
        String result = "";
        BufferedReader in = null;
        try {
            String urlNameString = url + "?" + param;
            URL realUrl = new URL(urlNameString);
            // 打开和URL之间的连接
            URLConnection connection = realUrl.openConnection();
            // 设置通用的请求属性
            connection.setRequestProperty("accept", "*/*");
            connection.setRequestProperty("connection", "Keep-Alive");
            connection.setRequestProperty("user-agent",
                    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
            // 建立实际的连接
            connection.connect();
            // 获取所有响应头字段
            Map<String, List<String>> map = connection.getHeaderFields();
            // 遍历所有的响应头字段
            for (String key : map.keySet()) {
                System.out.println(key + "--->" + map.get(key));
            }
            // 定义 BufferedReader输入流来读取URL的响应
            in = new BufferedReader(new InputStreamReader(
                    connection.getInputStream(),"UTF-8"));
            String line;
            while ((line = in.readLine()) != null) {
                result += line;
            }
        } catch (Exception e) {
            System.out.println("发送GET请求出现异常!" + e);
            e.printStackTrace();
        }
        // 使用finally块来关闭输入流
        finally {
            try {
                if (in != null) {
                    in.close();
                }
            } catch (Exception e2) {
                e2.printStackTrace();
            }
        }
        return result;
    } --------------------编程问答-------------------- html代码不齐只有3份之2的html代码为什么?
========
啥意思??你读的是get的请求流,你返回这读取结果。 --------------------编程问答-------------------- 就是输出get或post请求url执行成功后返回的页面的html源代码


// 定义 BufferedReader输入流来读取URL的响应
            in = new BufferedReader(new InputStreamReader(
                    connection.getInputStream(),"UTF-8"));
            String line;
            while ((line = in.readLine()) != null) {
                result += line;
            }

System.out.println(result);//这里输出的源代码只有我在IE页面上查看到的代码的前3份之2 --------------------编程问答-------------------- //htmlparser.jar
String path="url?parm";
 Parser parser=new Parser(path);
 parser.setEncoding("gbk");
 NodeList list=parser.parse(null);
 System.out.println("<---->");
 System.out.println(list.toHtml());
 System.out.println("<---->");
--------------------编程问答-------------------- 不能改用htmlparser,可以改用httpClient --------------------编程问答-------------------- 但我改用httpClient 后也是一样只输出了一部分代码 --------------------编程问答-------------------- 你这是准备发送 html? --------------------编程问答-------------------- 是的,主要是用代码提交post或GET方式发送请求,我要在返回结果页面查找一些内容以判断提交是否成功执行。 --------------------编程问答-------------------- 那你怎么判断只输出了三分之二?
怎么读取的 --------------------编程问答-------------------- 输出结果我与页面上查看源代码对比,httpclient输出内容不齐全 --------------------编程问答-------------------- 你在输出的时候打印一下,或者断点跟踪下,肯定是哪地方弄错了
补充:Java ,  Web 开发
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,