功能:售后地址的验证 当用户点击某地址时,将地址信息传递到后台,再从后台调用接口,判断用户地址填写是否正确

解析地址功能的实现层代码(简化过的)

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异常相关推荐

  1. 出现java.lang.IllegalArgumentException异常

    出现java.lang.IllegalArgumentException异常 参考文章: (1)出现java.lang.IllegalArgumentException异常 (2)https://ww ...

  2. java lang ill_解决spring的java.lang.IllegalArgumentException异常。

    来源于: http://cache.baiducontent.com/c?m=9d78d513d9981ff10fb8c7201a17a7355901c73c6b8b96027ea4c402c2331 ...

  3. 时间转换时出现 java.lang.IllegalArgumentException 如何解决这个异常

    问题代码如下: //将String类型的时间戳转换成指定的格式的时间 private fun getTime(timeStr: String): String {var res = "&qu ...

  4. java zip malformed_压缩/解压 zip 时遇到 java.lang.IllegalArgumentException: MALFORMED

    因为zip文件名为中文,或者压缩内容有中文 解决方法: 错误详情: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinde ...

  5. java.lang.IllegalArgumentException异常

    问题概述 在项目开发的工作中,需要对数据报表进行导入导出的操作,为了方便快捷,使用的了EasyPOI,EasyPOI就像其名称一样,让报表操作的更容易些,它主要对POI进行了再封装,不像以前使用POI ...

  6. Tomcat服务器java.lang.IllegalArgumentException异常

    启动tomcat时报如下异常: Caused by: java.lang.IllegalArgumentException: The main resource set specified [C:\M ...

  7. java.lang.IllegalArgumentException 异常报错完美解决

    目录 修改JDK使用版本 修改开发工具idea配置(eclipse的直接跳过这个看下面) 修改开发工具eclipse配置 学习spring依赖注入的时候碰到这个坑,折腾了许久,记录一下以防其他小伙伴入 ...

  8. javah导出类的头文件抛出异常——java.lang.IllegalArgumentException: Not a valid class name(原因及解决方法)

    [0]README 0.1) 本文旨在给出 java.lang.IllegalArgumentException 异常的原因 和 处理方法, 该异常和 javah 没有半毛钱关系 : 0.2) 本文附 ...

  9. 登录首页时报错:java.lang.IllegalArgumentException (不合法的参数异常)

    处理一个老项目,DOWN下项目并配好之后,启动没问题,但是登陆之后首页显示如下: 控制台报错如下: 严重: Servlet.service() for servlet jsp threw except ...

最新文章

  1. linux看测试环境版本,最新版 EOS 在 Ubuntu 18.04.1 LTS 环境上的安装测试教程
  2. 京东零售CEO徐雷升任京东集团总裁,刘强东:将把更多时间投入乡村振兴等事业中...
  3. 【Python基础】pandas中apply与map的异同
  4. 好程序员分享大势所趋 HTML5成Web开发者最关心的技术
  5. Ajax拿取html格式数据
  6. 题目1005:Graduate Admission(结构体排序)
  7. mysql 表连接 on_MysQL中表连接中“using”和“on”之间的区别是什么?
  8. 期待!2019年春晚将成为科技盛宴:5G、4K都安排上了
  9. 安装构建以太坊钱包Parity
  10. Go新手上路(时不时更新)
  11. 便携主机推荐——ATX电源篇
  12. luogu 2735 电网 皮克公式
  13. CentOS 6.4x64编译安装DRBD及备节点同步后容量变小的处理
  14. Windows 10 文件名太长 无法删除 复制 重命名
  15. RF:Robot命令行工具帮助文件中文译版(个人翻译)
  16. 男人必听九大歌曲精选
  17. Java 实例 - 字符串分割和字符串分隔
  18. Python数据结构与算法基础|第三期:代码实现——顺序存储队列与链式存储队列
  19. 源码扫描工具Fortify SCA和FireLine对比说明
  20. 《论股票市价规则缺陷》根治方法

热门文章

  1. 常见硬件面试题(含答案)盘点,硬件工程师学习笔记
  2. 氮化镓充电器哪家做得好_性价比最高的氮化镓充电器是哪一款?
  3. 成人高考 计算机英语作文,「2017成人高考高起专英语作文」求成人考试英语作文4篇!...
  4. Python爬虫 --- Scrapy爬取IT桔子网
  5. IKEv2协议中的EAP-TLS认证处理流程
  6. MiniGUI 体系结构之二
  7. CAD保存时,提示 警告 多重从属对象 XXX
  8. 农用地包括哪些地类_农用地、基本农田、建设用地,不同类型的土地性质要怎么利用...
  9. avr c语言编译器,AVR单片机C语言编译器-20210409071159.docx-原创力文档
  10. Java 多态的薪酬计算的练习