• java请求url可以带参数


    /**
         * 
         * @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 NIO系列教程(六) 多路复用器Selector
    Java NIO系列教程(五)Buffer
    Java NIO系列教程(四) Scatter/Gather
    ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [1498], [18713], [18720]
    统计单词出现的最多次数(Trie树)
    毁灭梦想的5个方法
    windows内核Api的学习
    android创建目录和文件和安装其它apk
    Java 遍历指定文件夹及子文件夹下的文件
    sqlplus的非交互式使用
  • 原文地址:https://www.cnblogs.com/syscn/p/7741903.html
Copyright © 2020-2023  润新知