精华内容
下载资源
问答
  • Java获取URL中的参数
    千次阅读
    2021-03-09 02:32:10

    有时候我们需要在Java中解析URL,但是又用不了JSP里的那一套东西。

    这个函数能把URL里的GET参数放到对应的HashMap中,并且用异常处理,比较实用。

    public static Map> getQueryParams(String url) {

    try {

    Map> params = new HashMap>();

    String[] urlParts = url.split("\\?");

    if (urlParts.length > 1) {

    String query = urlParts[1];

    for (String param : query.split("&")) {

    String[] pair = param.split("=");

    String key = URLDecoder.decode(pair[0], "UTF-8");

    String value = "";

    if (pair.length > 1) {

    value = URLDecoder.decode(pair[1], "UTF-8");

    }

    List values = params.get(key);

    if (values == null) {

    values = new ArrayList();

    params.put(key, values);

    }

    values.add(value);

    }

    }

    return params;

    } catch (UnsupportedEncodingException ex) {

    throw new AssertionError(ex);

    }

    }

    更多相关内容
  • Java 实体类对象URL参数

    千次阅读 2021-02-12 13:13:05
    /*** 实体类对象URL参* @param t 实体类对象* @param callSuper 是否转换父类成员* @param 实体类泛型* @return a=1&b=2*/public static String entityToUrlParam(T t,boolean callSuper){// URL 参数存储器...

    /**

    * 实体类对象转URL参

    * @param t 实体类对象

    * @param callSuper 是否转换父类成员

    * @param 实体类泛型

    * @return a=1&b=2

    */

    public static String entityToUrlParam(T t,boolean callSuper){

    // URL 参数存储器

    StringBuffer urlParam = new StringBuffer();

    //扩展转换父类成员功能

    entitySuperclassToUrlParam(t, t.getClass(),callSuper,urlParam);

    if(urlParam.length()>0){

    //去除最后一个&字符

    urlParam.deleteCharAt(urlParam.length() - 1);

    }

    return urlParam.toString();

    }

    /**

    * 实体类对象转URL参

    * @param t 实体类对象

    * @param clazz 实体类类型

    * @param callSuper 是否转换父类成员

    * @param urlParam URL 参数存储器

    * @param 实体类泛型

    * @return a=1&b=2

    */

    @Deprecated

    public static void entitySuperclassToUrlParam(T t,Class clazz,boolean callSuper,StringBuffer urlParam){

    //如果实体类对象为Object类型,则不处理

    if(!clazz.equals(Object.class)) {

    //获取实体类对象下的所有成员,并保存到 URL 参数存储器中

    Arrays.stream(clazz.getDeclaredFields()).forEach(field -> {

    //设置可以操作私有成员

    field.setAccessible(true);

    try {

    //获取成员值

    Object value = field.get(t);

    //成员值为 Null 时,则不处理

    if (Objects.nonNull(value)) {

    urlParam.append(field.getName()).append("=").append(value).append("&");

    }

    } catch (IllegalAccessException e) {

    e.printStackTrace();

    }

    });

    //是否转换父类成员

    if(callSuper){

    //获取父类类型

    clazz = clazz.getSuperclass();

    //递归调用,获取父类的处理结果

    entitySuperclassToUrlParam(t,superclazz,callSuper,urlParam);

    }

    }

    }

    public static void main(String[] args) {

    String urlParam = entityToUrlParam(实体类对象,实体类对象的Class);

    System.out.println(urlParam);

    }

    本文地址:https://blog.csdn.net/Mr_wangjk/article/details/107666706

    希望与广大网友互动??

    点此进行留言吧!

    展开全文
  • public static File downloadWxImage(String headimgurl) { ... URL urlfile; InputStream inStream = null; OutputStream os = null; try { file = File.createTempFile("wx_image", ".png"); ...
        public static File downloadWxImage(String url) {
            File file = null;
    
            URL urlfile;
            InputStream inputStream = null;
            OutputStream outputStream= null;
            try {
                file = File.createTempFile("wx_image", ".png");
                //下载
                urlfile = new URL(url);
                inputStream = urlfile.openStream();
                outputStream= new FileOutputStream(file);
    
                int bytesRead = 0;
                byte[] buffer = new byte[8192];
                while ((bytesRead = inputStream.read(buffer, 0, 8192)) != -1) {
                    os.write(buffer, 0, bytesRead);
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                try {
                    if (null != outputStream) {
                        outputStream.close();
                    }
                    if (null != inputStream) {
                        inputStream.close();
                    }
    
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            return file;
        }
    
    展开全文
  • java通过url得到文件对象(支持http和https)

    万次阅读 热门讨论 2019-08-13 11:38:10
    项目有时候需要通过一个url地址来得到一个文件,此方式就是通过一个url将文件下载到本地的临时文件,直接上代码 /** * 远程读取文件 * * @param netUrl * @return */ public static File getNetUrl(String ...

    项目有时候需要通过一个url地址来得到一个文件,此方式就是通过一个url将文件下载到本地的临时文件,直接上代码

        /**
         * 远程读取文件
         *
         * @param netUrl
         * @return
         */
        public static File getNetUrl(String netUrl) {
            //判断http和https
            File file = null;
            if (netUrl.startsWith("https://")) {
                file = getNetUrlHttps(netUrl);
            } else {
                file = getNetUrlHttp(netUrl);
            }
            return file;
        }

    全部引用的包,工具类可能有其他引用,取自己所需的路径就好

    import com.xiangweihui.core.util.other.X509TrustUtiil;
    import lombok.extern.slf4j.Slf4j;
    import org.apache.commons.fileupload.FileItem;
    import org.apache.commons.fileupload.disk.DiskFileItem;
    import org.apache.commons.io.IOUtils;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.core.io.DefaultResourceLoader;
    import org.springframework.core.io.Resource;
    import org.springframework.core.io.ResourceLoader;
    import org.springframework.web.multipart.MultipartFile;
    import org.springframework.web.multipart.commons.CommonsMultipartFile;
    
    import javax.net.ssl.*;
    import javax.servlet.http.HttpServletRequest;
    import java.io.*;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.net.URLEncoder;
    import java.nio.channels.FileChannel;
    import java.util.*;

    getNetUrlHttp方法

    这里创建的是本地临时文件,所以用完了之后,不用刻意调用file.delete方法进行删除

    public static File getNetUrlHttp(String netUrl) {
            //对本地文件命名
            String fileName = StringUtils.reloadFile(netUrl);
            File file = null;
    
    
            URL urlfile;
            InputStream inStream = null;
            OutputStream os = null;
            try {
                file = File.createTempFile("net_url", fileName);
                //下载
                urlfile = new URL(netUrl);
                inStream = urlfile.openStream();
                os = new FileOutputStream(file);
    
                int bytesRead = 0;
                byte[] buffer = new byte[8192];
                while ((bytesRead = inStream.read(buffer, 0, 8192)) != -1) {
                    os.write(buffer, 0, bytesRead);
                }
            } catch (Exception e) {
                log.error("远程图片获取错误:"+netUrl);
                e.printStackTrace();
            } finally {
                try {
                    if (null != os) {
                        os.close();
                    }
                    if (null != inStream) {
                        inStream.close();
                    }
    
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
    
            return file;
        }

    getNetUrlHttps

    这个方法就相对于要麻烦很多了,毕竟涉及到ssl,很多人再请求的时候绕不开ssl,这里可以通过代码进行处理

    SSLContext不需要其他包,使用java自带的,无需import
    /**
         * 下载文件到本地(支持https)
         *
         * @param fileUrl 远程地址
         * @throws Exception
         */
    
        public static File getNetUrlHttps(String fileUrl) {
            //对本地文件进行命名
            String file_name = StringUtils.reloadFile(fileUrl);
            File file = null;
    
            DataInputStream in = null;
            DataOutputStream out = null;
            try {
                file = File.createTempFile("net_url", file_name);
    
                SSLContext sslcontext = SSLContext.getInstance("SSL", "SunJSSE");
                sslcontext.init(null, new TrustManager[]{new X509TrustUtiil()}, new java.security.SecureRandom());
                URL url = new URL(fileUrl);
                HostnameVerifier ignoreHostnameVerifier = new HostnameVerifier() {
                    @Override
                    public boolean verify(String s, SSLSession sslsession) {
                        logger.warn("WARNING: Hostname is not matched for cert.");
                        return true;
                    }
                };
                HttpsURLConnection.setDefaultHostnameVerifier(ignoreHostnameVerifier);
                HttpsURLConnection.setDefaultSSLSocketFactory(sslcontext.getSocketFactory());
                HttpsURLConnection urlCon = (HttpsURLConnection) url.openConnection();
                urlCon.setConnectTimeout(6000);
                urlCon.setReadTimeout(6000);
                int code = urlCon.getResponseCode();
                if (code != HttpURLConnection.HTTP_OK) {
                    throw new Exception("文件读取失败");
                }
                // 读文件流
                in = new DataInputStream(urlCon.getInputStream());
                out = new DataOutputStream(new FileOutputStream(file));
                byte[] buffer = new byte[2048];
                int count = 0;
                while ((count = in.read(buffer)) > 0) {
                    out.write(buffer, 0, count);
                }
                out.close();
                in.close();
            } catch (Exception e) {
                log.error("远程图片获取错误:"+fileUrl);
                e.printStackTrace();
            } finally {
                try {
                    if (null != out) {
                        out.close();
                    }
                    if (null != in) {
                        in.close();
                    }
                } catch (Exception e2) {
                    e2.printStackTrace();
                }
            }
    
            return file;
        }

    其中X509TrustUtiil的工具包

    import javax.net.ssl.X509TrustManager;
    import java.security.cert.CertificateException;
    import java.security.cert.X509Certificate;
    
    public class X509TrustUtiil implements X509TrustManager {
    
    	@Override
    	public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {
    		// TODO Auto-generated method stub
    
    	}
    
    	@Override
    	public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException {
    		// TODO Auto-generated method stub
    
    	}
    
    	@Override
    	public X509Certificate[] getAcceptedIssuers() {
    		// TODO Auto-generated method stub
    		return null;
    	}
    
    }

    补充两个自己写的StringUtils工具类的两个方法

    /**
         * 重命名,UUIU
         *
         * @param oleFileName
         * @return
         */
        public static String reloadFile(String oleFileName) {
            oleFileName = getFileName(oleFileName);
            if (StringUtils.isEmpty(oleFileName)) {
                return oleFileName;
            }
            //得到后缀
            if (oleFileName.indexOf(".") == -1) {
                //对于没有后缀的文件,直接返回重命名
                return UniqId.getUid();
            }
            String[] arr = oleFileName.split("\\.");
            // 根据uuid重命名图片
            String fileName = UniqId.getUid() + "." + arr[arr.length - 1];
    
            return fileName;
        }
    
        /**
         * 把带路径的文件地址解析为真实文件名 /25h/upload/hc/1448089199416_06cc07bf-7606-4a81-9844-87d847f8740f.mp4 解析为 1448089199416_06cc07bf-7606-4a81-9844-87d847f8740f.mp4
         *
         * @param url
         */
        public static String getFileName(final String url) {
            if (StringUtils.isEmpty(url)) {
                return url;
            }
            String newUrl = url;
            newUrl = newUrl.split("[?]")[0];
            String[] bb = newUrl.split("/");
            String fileName = bb[bb.length - 1];
            return fileName;
        }

     

    这样就可以通过一个url将远程地址的文件转化为本地文件了,有疑问的留言

    展开全文
  • JAVA中三种URL连接方法

    千次阅读 2021-02-12 17:25:22
    我们通过使用JavaURL类就可以经由URL完成读取和修改数据的操作。通过一个URL连接,我们就可以确定资源的位置,比如网络文件、网络页面以及网络应用程序等。其中包含了许多的语法元素。 从URL得到...
  • java将网络上的url图片转换成File对象

    千次阅读 2021-01-05 10:13:01
    public static File getFile(String url) throws Exception { //对本地文件命名 String fileName = url.substring(url.lastIndexOf("."),url.length()); File file = null; URL urlfile; InputStream inStream...
  • 导入包: ...import java.net.URL; /** * 测试 */ public static void main(String[] args) { try { String destUrl = "https://ibsbjstar.ccb.com.cn/NCCB_Encoder/Encoder?CODE=EUSo4Twu6YRk2JDPJ9On
  • Java URL(一)——概念、构造

    千次阅读 2018-11-16 17:18:27
    Java URL 翻译源:[Java tutorial 网络篇](https://docs.oracle.com/javase/tutorial/networking/urls/index.html)
  • 最近在做项目的过程中遇到了以下的问题,在跑...url.openConnection().getInputStream(); 跑出了一个连接超时的异常,经过详细的检查,发现问题是因为我在局域网 访问Internet的资源的时候是通过代理服务器上网的,
  • 类 URL 代表一个统一资源定位...在Java中就是使用URL访问网络资源,获取url对象的相关信息。 下面介绍具体是使用 1.构造方法,一般使用较多的就下面这两个,可以参照api http://www.javaweb.cc/help/JavaAPI1.6/i...
  • // 将url 以 open方法返回的urlConnection 连接强转为HttpURLConnection连接 (标识一个url所引用的远程对象连接) ... 返回的数据中文乱码使用java的Http请求里的Url对象调用第三方接口返回的数据中文乱码
  • java中的url 编码与解码

    千次阅读 2019-08-01 11:00:23
    URL地址里包含非西欧字符的字符串时,系统会将这些字符转换成application/x-www-form-urlencoded字符串。 表单里提交时也是如此,当包含非西欧字符的字符串时,系统也会将这些字符转换成applicati...
  • Java项目报400错误的原因与解决方法

    千次阅读 2021-02-12 09:31:53
    java项目中400错误介绍:(推荐:java视频教程)400 Bad Request:请求中的语法错误。Reason-Phrase应当标志这个详细的语法错误,比如”Missing Call-ID header field”。HTTP 400 错误 - 请求无效 (Bad request)在...
  • Java URL处理

    千次阅读 2017-10-11 18:33:23
    URL(Uniform Resource Locator)中文名...本章节我们将介绍Java是如处理URL的。URL可以分为如下几个部分。protocol://host:port/path?query#fragmentprotocol(协议)可以是 HTTP、HTTPS、FTP 和 File,port 为端口号,p
  • Java利用URL实现文件下载

    万次阅读 2018-10-25 00:36:11
    利用URL(网络资源统一定位符),我们可以进行文件的定位和下载, 如果我们想让下载速度提高一些,我们通常有以下方法: 1.提高网络带宽,提升网络速度 2.开通网站vip,实现高速下载或上传 3.新增下载线程,实现...
  • javaURL的使用

    千次阅读 2017-09-25 16:37:35
    1、URL  a、URL 统一资源定位符,表示Internet上某一资源的地址。  b、URL 由两部分组成:... c、在java.net包中,提供了URL类来表示URL。 package test01; import java.net.MalformedURLException; imp
  • Java 网络资源url转化为File文件

    千次阅读 2021-01-12 16:52:01
    将互联网上的http开头的url资源,保存到本地。 private File getNetUrlHttp(String path){ //对本地文件命名,path是http的完整路径,主要得到资源的名字 String newUrl = path; newUrl = newUrl.split("[?]")...
  • S3官方JAVA SDK文档
  • Java中URI 和 URL 的区别

    千次阅读 2019-06-17 16:56:44
    URI 和 URL 的区别 文章目录URI 和 URL 的区别1. URI2. URL3. 总结 参考文章:https://blog.csdn.net/zcc7up/article/details/73551250 1. URI 表示一个 统一资源标识符 引用,Uniform Resource Identifiers ① ...
  • 将JSONObject转换为Java对象

    千次阅读 2021-02-12 10:53:00
    但是,我试图将其转换为类对象并得到错误。这是我的代码:RestOperations operations = /*initalize*/;String body = /*build request body*/;String resourceResponse = operations.postForObject(/* url */, bod.....
  • Java校验url是否可用

    千次阅读 2017-05-23 14:25:29
    使用java.net 下的URL类来实现,URL 是统一资源标识符的引用,一个URL实例代表着一个url的引用,然后使用了URL中的的openStream()方法。 java代码: import java.io.InputStream; import java.net.URL; public ...
  • java.net.url对象

    千次阅读 2017-02-18 12:09:09
    感谢博主的用心编写 ... 一、用JAVA实现URL ... 在JAVA中,Java.net包里面的类是进行网络编程的,其中java.net.URL类和java.net.URLConection类使编程者方便地利用URL在Internet上进行网络通信。 1、创建
  • 假设您想传递原始数据类型,例如复杂的Java对象 java.util.Data,java.lang.List,泛型类,数组以及通过URL参数所需的所有内容,以便在页面加载后在任何网页上预设默认值。 共同的任务? 是的,但是可用的解决方案...
  • 而库中取到的是上传s3后拿到的url。通过url先获取图片二进制,再base64发送给对方。 通过url下载图片,获得图片二进制数据代码如下: import java.io.ByteArrayOutputStream; import java.io.InputStream; import ...
  • public static String parseURLPair(Object o) throws Exception{ Class c = o.getClass(); Field[] fields = c.getDeclaredFields(); Method[] methods = c.getMethods(); Boolean flg = Boolean.FALSE;
  • Java获取HTTP请求内容内URL的各项参数

    千次阅读 2021-03-05 22:02:18
    Java获取HTTP请求内容内URL的各项参数今天做了一个后端项目把之前的HTTP请求里边的各项参数如何获得搞混了,这里小记一下url地址:http://localhost:8084/api/getGoodsByType?typeId=1通过request来获取封装在对象中的...
  • java使用url读取网页资源

    千次阅读 2016-10-16 11:17:29
    import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.Malforme
  • 1.GET 请求public static String doGet(String httpurl,String contentType) {//contentType = "application/json";contentType = "text/xml";HttpURLConnection connection = null;InputStream is = null;...
  • JAVAURL

    千次阅读 2016-05-18 22:59:35
    简介 类 URL 代表一个统一资源定位符,它是指向...资源可以是简单的文件或目录,也可以是对更为复杂的对象的引用,例如对数据库或搜索引擎的查询。 示例:http://www.socs.uts.edu.au/MosaicDocs-old/url-primer.html

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 688,558
精华内容 275,423
关键字:

java url对象

java 订阅