使用原生的java类进行URL解析

来源:互联网 发布:测试反应力软件 编辑:程序博客网 时间:2024/05/22 13:14

使用原生的java类进行URL解析

在解析json请求中用到了使用java的原生类去解析一个URL,再通过对回传的json数据进行解析,越过了使用ajax在前台异步请求时遇到的跨域问题

import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.URL;import java.net.URLConnection;import java.util.List;import java.util.Map;/** * Created by zwl on 2017/9/15. * May god bless me */public class Main {    public static String sendGet(String url) {        String result = "";        BufferedReader in = null;        try {            String urlNameString = url ;            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()));            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;    }}
原创粉丝点击