Get传递参数时发生java.lang.IllegalArgumentException异常
功能:售后地址的验证 当用户点击某地址时,将地址信息传递到后台,再从后台调用接口,判断用户地址填写是否正确
解析地址功能的实现层代码(简化过的)
publicvoidaddressResolution(String address, String id) {
String addresses ="{\"id\":\""+ id + "\",\"address\":\""+ address +"\"}";//将传递的两个值赋值给string
try{
String response=HttpClientUtil.doGetUrl(http://baidu.com?addresses=["+ addresses +"]");//注意:在发送请求时一定要填写http://或https://
} catch (Exception e) {
e.printStackTrace();
}
}
在执行之后发生的异常信息
java.lang.IllegalArgumentException: Illegal character in query at index 82: http://10.138.225.240:10061/internalapi/hsi/analyticSuperMapAPI/fendan?addresses=[{"id":"111","address":"山东省日照市岚山区"}]
at java.net.URI.create(URI.java:852)
at org.apache.http.client.methods.HttpGet.<init>(HttpGet.java:66)
.....................................................
2018-04-19 09:09:10.575 ERROR 7892 --- [tp1021786447-94] c.h.h.e.s.w.WorkOrderServiceImpl : 地址分单异常信息:java.lang.IllegalArgumentException: Illegal character in query at index 82: http://10.138.225.240:10061/internalapi/hsi/analyticSuperMapAPI/fendan?addresses=[{"id":"111","address":"山东省日照市岚山区"}]
异常原因:更确切的讲,当URL地址里包含非西欧字符的字符串时,浏览器都会将这些非西欧字符串转换成application/x-www-form-urlencoded MIME 字符串。在开发过程中,我们可能涉及将普通字符串和这种特殊字符串的相关转换,这就需要使用URLDecoder和URLEncoder类进行实现,其中:
URLDecoder类包含一个decode(String s,String enc)静态方法,它可以将application/x-www-form-urlencoded MIME字符串转成普通字符串;
URLEncoder类包含一个encode(String s,String enc)静态方法,它可以将普通字符串转换成application/x-www-form-urlencoded MIME字符串。
所以在这里使用URLEncoder方法
导包 import java.net.URLEncoder;
publicvoidaddressResolution(String address, String id) {
String addresses ="{\"id\":\""+ id + "\",\"address\":\""+ address +"\"}";
String addresses =URLEncoder.encode(param); //url中有汉字或特殊字符(非字母和数字的字符),实现 转码
try{
String response = HttpClientUtil.doGetUrl(http://baidu.com?addresses=["+ addresses +"]");
} catch (Exception e) {
e.printStackTrace();
}
}
执行成功
Get传递参数时发生java.lang.IllegalArgumentException异常相关推荐
- 出现java.lang.IllegalArgumentException异常
出现java.lang.IllegalArgumentException异常 参考文章: (1)出现java.lang.IllegalArgumentException异常 (2)https://ww ...
- java lang ill_解决spring的java.lang.IllegalArgumentException异常。
来源于: http://cache.baiducontent.com/c?m=9d78d513d9981ff10fb8c7201a17a7355901c73c6b8b96027ea4c402c2331 ...
- 时间转换时出现 java.lang.IllegalArgumentException 如何解决这个异常
问题代码如下: //将String类型的时间戳转换成指定的格式的时间 private fun getTime(timeStr: String): String {var res = "&qu ...
- java zip malformed_压缩/解压 zip 时遇到 java.lang.IllegalArgumentException: MALFORMED
因为zip文件名为中文,或者压缩内容有中文 解决方法: 错误详情: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinde ...
- java.lang.IllegalArgumentException异常
问题概述 在项目开发的工作中,需要对数据报表进行导入导出的操作,为了方便快捷,使用的了EasyPOI,EasyPOI就像其名称一样,让报表操作的更容易些,它主要对POI进行了再封装,不像以前使用POI ...
- Tomcat服务器java.lang.IllegalArgumentException异常
启动tomcat时报如下异常: Caused by: java.lang.IllegalArgumentException: The main resource set specified [C:\M ...
- java.lang.IllegalArgumentException 异常报错完美解决
目录 修改JDK使用版本 修改开发工具idea配置(eclipse的直接跳过这个看下面) 修改开发工具eclipse配置 学习spring依赖注入的时候碰到这个坑,折腾了许久,记录一下以防其他小伙伴入 ...
- javah导出类的头文件抛出异常——java.lang.IllegalArgumentException: Not a valid class name(原因及解决方法)
[0]README 0.1) 本文旨在给出 java.lang.IllegalArgumentException 异常的原因 和 处理方法, 该异常和 javah 没有半毛钱关系 : 0.2) 本文附 ...
- 登录首页时报错:java.lang.IllegalArgumentException (不合法的参数异常)
处理一个老项目,DOWN下项目并配好之后,启动没问题,但是登陆之后首页显示如下: 控制台报错如下: 严重: Servlet.service() for servlet jsp threw except ...
最新文章
- linux看测试环境版本,最新版 EOS 在 Ubuntu 18.04.1 LTS 环境上的安装测试教程
- 京东零售CEO徐雷升任京东集团总裁,刘强东:将把更多时间投入乡村振兴等事业中...
- 【Python基础】pandas中apply与map的异同
- 好程序员分享大势所趋 HTML5成Web开发者最关心的技术
- Ajax拿取html格式数据
- 题目1005:Graduate Admission(结构体排序)
- mysql 表连接 on_MysQL中表连接中“using”和“on”之间的区别是什么?
- 期待!2019年春晚将成为科技盛宴:5G、4K都安排上了
- 安装构建以太坊钱包Parity
- Go新手上路(时不时更新)
- 便携主机推荐——ATX电源篇
- luogu 2735 电网 皮克公式
- CentOS 6.4x64编译安装DRBD及备节点同步后容量变小的处理
- Windows 10 文件名太长 无法删除 复制 重命名
- RF:Robot命令行工具帮助文件中文译版(个人翻译)
- 男人必听九大歌曲精选
- Java 实例 - 字符串分割和字符串分隔
- Python数据结构与算法基础|第三期:代码实现——顺序存储队列与链式存储队列
- 源码扫描工具Fortify SCA和FireLine对比说明
- 《论股票市价规则缺陷》根治方法
热门文章
- 常见硬件面试题(含答案)盘点,硬件工程师学习笔记
- 氮化镓充电器哪家做得好_性价比最高的氮化镓充电器是哪一款?
- 成人高考 计算机英语作文,「2017成人高考高起专英语作文」求成人考试英语作文4篇!...
- Python爬虫 --- Scrapy爬取IT桔子网
- IKEv2协议中的EAP-TLS认证处理流程
- MiniGUI 体系结构之二
- CAD保存时,提示 警告 多重从属对象 XXX
- 农用地包括哪些地类_农用地、基本农田、建设用地,不同类型的土地性质要怎么利用...
- avr c语言编译器,AVR单片机C语言编译器-20210409071159.docx-原创力文档
- Java 多态的薪酬计算的练习