已删除用户
发布于 2023-10-30 / 0 阅读 / 0 评论 / 0 点赞

java.lang.IllegalArgumentException: Illegal character in query at index

这个报错是我写HttpGet推送数据的时候出错的,一开始我也不知道是什么问题,后面去找了一下发现是发送请求的参数出问题了

请求:

http://data.zooyvip.com:16882/PatrolRestfulApi.svc/GetDeviceGPSData?token=5127D94EA289790965E06670F41DA0D7DF453A05D69752D9A32D5846EB206F97D0DE2424E079121282E294B5F785C50B&deviceId=0001010a2005225465&startTime=2018-12-01 14:00:00&endTime=2023-12-01 14:00:00&pageIndex=1&pageSize=100

然后就报错

java.lang.IllegalArgumentException: Illegal character in query at index

这个报错是因为你的参数是跟着地址后面一起发送请求,而在地址上面不能有什么大括号,空格,引号等等…这些符号,一旦加上就会发生未知符号报错。

所以我们要进行转换用以下代码把你的未知符号转换一下

URLEncoder.encode("2018-12-01 14:00:00", "UTF-8")

格式:URLEncoder.encode(字符串, “UTF-8”)

这样就ok了


评论