java http url 编码_Java中的HTTP URL地址编码

java.net.URI类可以帮助;在URL的文档中找到

Note, the URI class does perform escaping of its component fields in certain circumstances. The recommended way to manage the encoding and decoding of URLs is to use an URI

使用带有多个参数的构造函数,如:

URI uri = new URI(

"http",

"search.barnesandnoble.com",

"/booksearch/first book.pdf",

null);

URL url = uri.toURL();

//or String request = uri.toString();

(URI的单参数构造函数不转义非法字符)

编辑:添加完全限定类名,以避免与其他URI类(如apaches httpclient)混淆,

EDIT 2:

只有非法字符通过上述代码转义 – 它不转义非ASCII字符(参见fatih的注释)。

toASCIIString方法可用于获取仅包含US-ASCII字符的字符串:

URI uri = new URI(

"http",

"search.barnesandnoble.com",

"/booksearch/é",

null);

String request = uri.toASCIIString();

编辑3:

对于包含诸如http://www.google.com/ig/api?weather=SãoPaulo的查询的网址,请使用构造函数的5参数版本:

URI uri = new URI(

"http",

"www.google.com",

"/ig/api",

"weather=São Paulo",

null);

String request = uri.toASCIIString();

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/557612.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Error querying database. Cause: java.lang.UnsupportedOperationException

mybatis抛出以下异常: Error querying database. Cause: java.lang.UnsupportedOperationException 对应语句如下: select distinct code from ssj_dictionary 错误原因是 resultType“java.util.List” ,这里应该改成: result…

从java多态到策略模式_设计模式中的多态——策略模式详解

2. 策略模式详解2.1 策略模式定义策略模式定义了一系列算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户端而独立的变化。可以使用多态进行类比来理解策略模式的定义。一系列算法可以理解成接口的不同实现类,因为不同实现类…

linux服务器安装zookeeper本地项目远程连接

linux服务器安装zookeeper本地项目远程连接 zookeeper linux 服务器安装,本地idea连接 先决条件:一台linux服务器,服务器里面已经安装好java环境(安装Java看这里:https://blog.csdn.net/qq_43842093/article/details…

android 获取蓝牙设备id_【报Bug】安卓平台获取不到蓝牙设备服务列表(ios可以)...

产品分类:uniapp/AppPC开发环境操作系统:WindowsPC开发环境操作系统版本号:win10HBuilderX类型:正式HBuilderX版本号:3.0.7手机系统:Android手机系统版本号:Android 9.0手机厂商:华为…

java gson 工具类_GSON 实体 转换工具类

/*** Gson转换工具类*/public class GsonUtils {/*** param jsonString* json字符串* param cls* 要转换的类* param * 返回要转换的类* return*/public static T getPerson(String jsonString, Class cls) {T t null;try {Gson gson new G…

修改linux远程主机名命令hostname

hostname命令 用这个命令:之后重新登录

java string字符操作_Java对String类型字符串的各种操作姿势

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼//获取字符串的长度String str2 "helloword";System.out.println(str2.length());//利用数组创建string对象char[] cha {h,e,l,l,o,w,o,r,d,!};String str new String(cha);System.out.println(str);//利用数组创建st…

zookeeper下载安装过程

1.1 下载安装 1、环境准备 ZooKeeper服务器是用Java创建的,它运行在JVM之上。需要安装JDK 7或更高版本。 2、上传 将下载的ZooKeeper放到/opt/ZooKeeper目录下 #上传zookeeper altp put f:/setup/apache-zookeeper-3.5.6-bin.tar.gz #打开 opt目录 cd /opt #创…

java 计算反码_java基础知识-原码、反码、补码、运算符

一、原码、反码、补码原码一个数转化成二进制。用最高位来表示正负,最高位为0表示正数,最高位为1表示负数。例如:short i5;因为在java里short占2个字节转化成二进制就是 00000000 00000101所以 00000000 00000101就是5的原码short…

dubbo-admin安装和简单使用

一、dubbo-admin安装 1、环境准备 dubbo-admin 是一个前后端分离的项目。前端使用vue,后端使用springboot,安装 dubbo-admin 其实就是部署该项目。我们将dubbo-admin安装到开发环境上。要保证开发环境有jdk,maven,nodejs 安装n…

java 文件流 重写_java中关于文件流的总结

[File类]1、 作用: 用于对磁盘文件进行操作。 删除、创建等。2、 三种常用的构造函数:① File file1 new File("F:\\test");直接传入一个路径,拿到一个文件或者是文件夹。② File file2 new File("F:\\test","tes…

java接口的默认方法,实现类调用接口默认方法

概述 Java8带来了一些全新的特性,包括lambda表达式、函数接口、方法引用、流、可选方法、接口中的静态方法和默认方法。 在本文中,我们将深入讨论为什么java8接口新增了默认方法,如何使用默认方法,并讨论一些有用的用例。 默认…

java程序的加载顺序_Java类的加载顺序

问题昨天有人问我一个类中有静态方法,有静态代码块,普通代码块,构造函数,普通方法,静态方法,那么它们的加载顺序是什么?如果有之类继承该类,也有如上的方法,那么加载顺序…

java.lang.Thread类详解,yield方法,join方法,interrupt方法,interrupted方法,destroy方法

一、前言 位于java.lang包下的Thread类是非常重要的线程类,它实现了Runnable接口,今天我们来学习一下Thread类,在学习Thread类之前,先介绍与线程相关知识:线程的几种状态、上下文切换,然后接着介绍Thread类…

hashSet与treeSet的去重原理

hashSet与treeSet的去重原理 1、TreeSet去重原理 :compareTo 可以实现排序及去重:如果compareTo返回0,说明是重复的,返回的是自己的某个属性和另一个对象的某个属性的差值,如果是负数,则往前面排&#xff…

php mysql group by_php – 如何在mysql查询中解决“不在GROUP BY中”错误

我有两个模型:帖子和喜欢有一对多的关系(所以,一个帖子有很多喜欢). Likings模型还有一个isActive字段,表示喜欢是主动还是被动.我想获得(排序)前5个帖子,这些帖子已经收到了最大的“活跃”喜欢(只有喜欢其isActive字段为true的帖子才会被考虑).这是查询&#xff1a…

排序实训问答

排序 注意事项: 问:你这排序怎么会出现两个0毫秒 或者怎么会出现0毫秒的现象呢? 答:在计算机中,时间的计算是以毫秒为单位的。当两个时间间隔非常短,小于1ms时,计算机可能会将时间计算为0毫秒…

git stash 缓存 简介

当我们在使用git的时候,又是会有这种情况:当新的需求了的时候。我们需要为此需求新建一个分支,再次分支上进行修改,当经过测试,提交代码时,在将其合并到主分支,或生产分支上。 但是有时候也有失…

java jsp session_JSP中Session的使用

你的session对象ID是:int Num 0; //定义前面要加!号synchronized void countPeople() { //同步方法Num;}%>if (session.isNew()) { //推断是否为新用户countPeople();String str String.valueOf(Num);session.setAttribute("count", str); //将str 加…

java中的线程池有哪些,分别有什么作用?

java中的线程池有哪些,分别有什么作用? 1.进程-线程简单介绍 2.java的线程池是什么,有哪些类型,作用分别是什么 3.使用线程池的优点 1.进程-线程的简单介绍 进程 什么是进程呢? 进程是计算机中的程序关于某数据集合…