码迷,mamicode.com
首页 > 编程语言 > 详细

java请求url可以带参数

时间:2017-10-27 11:45:06      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:turn   query   ring   name   uil   log   byte   map   lin   

/**
     * 
     * @param urlStr
     *            url
     * @param content
     *            提交的参数
     * @param encoding
     *            编码格式
     * @return
     */
    public static String getUrlResult(String urlStr, Map<String,Object> map,String method) {
        URL url = null;
        HttpURLConnection connection = null;
        try {
            url = new URL(urlStr);
            connection = (HttpURLConnection) url.openConnection();// 新建连接实例
            connection.setConnectTimeout(10000);// 设置连接超时时间,单位毫秒
            connection.setReadTimeout(10000);// 设置读取数据超时时间,单位毫秒
            connection.setDoOutput(true);// 是否打开输出流 true|false
            connection.setDoInput(true);// 是否打开输入流true|false
            connection.setRequestMethod(method);// 提交方法POST|GET
            connection.setUseCaches(false);// 是否缓存true|false
            connection.connect();// 打开连接端口
            DataOutputStream out = new DataOutputStream(
                    connection.getOutputStream());// 打开输出流往对端服务器写数据
            String content=buildUrlQuery(map);
            out.writeBytes(content);// 写数据,也就是提交你的表单 name=xxx&pwd=xxx
            out.flush();// 刷新
            out.close();// 关闭输出流
            BufferedReader reader = new BufferedReader(new InputStreamReader(
                    connection.getInputStream(), "UTF-8"));// 往对端写完数据对端服务器返回数据
            // ,以BufferedReader流来读取
            StringBuffer buffer = new StringBuffer();
            String line = "";
            while ((line = reader.readLine()) != null) {
                buffer.append(line);
            }
            reader.close();
            return buffer.toString();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (connection != null) {
                connection.disconnect();// 关闭连接
            }
        }
        return "";
    }
    private static String buildUrlQuery(Map<String, Object> querys) throws UnsupportedEncodingException {
        StringBuilder sbQuery = new StringBuilder();
        if (null != querys) {
            for (Map.Entry<String, Object> query : querys.entrySet()) {
                if (0 < sbQuery.length()) {
                    sbQuery.append("&");
                }
                if (String.valueOf((query.getKey())).equals("null") && !String.valueOf((query.getValue().toString())).equals("null")) {
                    sbQuery.append(query.getValue());
                }
                if (!String.valueOf((query.getKey())).equals("null")) {
                    sbQuery.append(query.getKey());
                    if (!String.valueOf(query.getValue()).equals("null")) {
                        sbQuery.append("=");
                        sbQuery.append(URLEncoder.encode(query.getValue().toString(), "utf-8"));
                    }                    
                }
            }
            
        }
        
        return sbQuery.toString();
    }

 

java请求url可以带参数

标签:turn   query   ring   name   uil   log   byte   map   lin   

原文地址:http://www.cnblogs.com/syscn/p/7741903.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!