我在变量中有URL,从另一个地方读取。此变量具有?
和&
个字符。如果我输入单引号或双引号之间的整个URL,它可以正常工作。但是如果我输入变量,curl会抱怨URL有非法字符。我该如何规避这个?
PS:我还尝试将?
和&
替换为%3F
和%26
,但它不起作用。
示例:
$ echo "$location"
https://example.com/dothis?param1=something¶m2=somethingelse
$ curl "$location" -o /dev/null > /dev/null
curl: (3) Illegal characters found in URL
$ curl "https://example.com/dothis?param1=something¶m2=somethingelse" -o /dev/null > /dev/null
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 126k 0 126k 0 0 13974 0 --:--:-- 0:00:09 --:--:-- 32272
答案 0 :(得分:1)
可能有一些看不见的字符。所以试试
printf '%s' "$location" | hexdump -C