zoukankan      html  css  js  c++  java
  • 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();
        }
  • 相关阅读:
    DSYMTools App Bug 分析工具
    Xcode dSYM 文件
    sqlserver数据库18456错误怎么解决?
    C#两个DataTable拷贝问题:该行已经属于另一个表的解决方法
    SNF微信公众号客户端演示-微信开发客户端能干什么
    sqlserver中创建链接服务器图解教程
    C#日期格式转换大全
    C#-MVC开发微信应用(8)--菜单管理的实现
    C#-MVC开发微信应用(7)--在管理系统中同步微信用户分组信息
    C#-MVC开发微信应用(6)--用户分组信息管理
  • 原文地址:https://www.cnblogs.com/syscn/p/7741903.html
Copyright © 2011-2022 走看看