curl下载地址有特殊字符解决方法使用curl当下载地址包含特殊字符时,比如下面的地址。实际访问地址不正确,缺少参数。curl-okspf.jpeg/img/bVcZOIF?a=1&b=2&c=3上面的url实际上在服务器端只接受a=1作为参数,导致服务器在接收数据时经常发生curl-okspf。jpeg/img/bVcZOIF?a=1为什么会出现这个问题?因为shell中的&表示任务在后台执行,直接在url中使用特殊符号会截断命令,使命令失去原来的意义。在shell中,一些符号被赋予了其他含义。符号含义&表示该任务在后台执行&&表示上一条命令执行成功后,将执行下一条命令|表示管道,将上一条命令的输出作为下一条命令的参数||表示只有上一个命令执行失败后才会执行下一个命令........解决方法知道特殊字符会被liunx识别为命令字符,所以我们需要对特殊符号url进行编码转义常用字符及对应编码表字符URL编码取值空间%20"%22\#%23%%25&%26(%28)%29+%2B,%2C/%2F:%3A;%3B<%3C=%3D\>%3E?%3F@%40\%5C|%7C#根据上表,我们把最终命令如下curl-s-okspf.jpeg/img/bVcZOIF?a=1%25b=2原文地址:https://kspf.xyz/archives/155/
