作者:佚名 时间:2024-10-23 09:28:26 阅读:(12)
当使用curl访问URL时,出现错误消息curl:(3)Illegal characters found in URL表示在URL中发现了不合法的字符。URL应该遵循特定的格式标准(如 RFC 3986),任何不符合这些标准的字符都会导致此类错误。
(1)、空格或特殊字符:URL中不能包含空格和一些特殊字符(如 <>、" 等)。如果URL中有这些字符,curl将无法正确处理。通常会建议对URL进行百分号编码(URL encoding)
(2)、未正确转义的字符:某些字符,如 &, ?, # 等在 URL 中具有特殊含义。如果这些字符未正确转义,可能会导致 curl 解析错误。常见的情况是带有查询参数的 URL,如果其中包含特殊字符,容易出错。
(3)、文件中的换行符或不必要的字符:如果 URL 来自于文件,可能在文件中有不可见的特殊字符或换行符,这些字符也会被 curl 视为非法。某些文本编辑器可能会在文件中插入 BOM(字节顺序标记)或其他控制字符。
检查是否含有\r等换行符,也可以使用命令检查:
vim script.sh :set ff?
如果出现fileforma=dos那么就基本可以确定是这个问题了。
:set fileformat=unix :wq
通过以上方法就可以把\r\n变成了\n
在编写shell脚本的时候尽量正确编写避免不合法或不符合标准的字符。