You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IntelliJ运行curl命令报java.net.URISyntaxException非法字符错误

错误产生原因

该报错表示URI协议(scheme)部分第4位索引存在不被允许的非法字符,常见触发原因有3种:

  • 最常见场景:直接将完整的curl命令字符串粘贴到了IntelliJ HTTP Client的请求URL输入框,IntelliJ会把整段输入当作URI解析,开头的curl (末尾带空格)会被识别为协议部分,索引从0计数,第4位刚好是空格,属于URI协议不允许的非法字符,直接触发报错。
  • 自行将curl转换为Java代码运行时,URL字符串混入了不可见控制字符、多余前后空格,或是转义符号未处理干净,导致协议部分被截断/混入非法字符。
  • 复制的curl命令中存在未还原的HTML转义字符(比如原始内容里的"没有替换为普通双引号),干扰了URI的正常解析。
解决方案

场景1:使用IntelliJ内置HTTP Client运行curl

  • 不要直接将curl粘贴到URL输入框,正确导入方式:打开后缀为.http的HTTP Client文件,右键选择「Import from cURL」,或是直接在编辑区粘贴整段curl命令,IntelliJ会自动转换为标准HTTP请求格式,拆分请求方法、URL、请求头、请求体参数,不会出现解析错误。
  • 手动编写请求时,单独提取URL部分https://intratest.com/services/tomcat/v2/server/deploy填写到请求方法后,不要携带curl前缀和其他命令参数。

场景2:自行转换为Java代码运行

  • 清理URL字符串,确保无多余前后空格、不可见字符,开头必须为https://无其他前缀。
  • 把curl命令中的HTML转义字符"全部替换为普通双引号",JSON请求体做好字符串转义后再传入。
  • 若URL路径、参数中存在特殊字符,使用java.net.URLEncoder对对应部分单独编码,不要直接编码整个URL。

内容的提问来源于stack exchange,提问作者Nunyet Calçada

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 12:18:03