尝试检索网址http://www.kat.ph/search/snow-patrol-shut-your-eyes/?categories%5B%5D=music 时 使用curl我收到一个错误,上面写着
curl:(3)在pos 65的范围规范中[全局]非法字符
为什么会这样?虽然[似乎是浏览器地址栏中一个完全有效的字符,我怎么能在卷曲中检索相同的网址?
答案 0 :(得分:8)
您可以使用-g选项来阻止来自globbing本身的curl。然后它会将带有[]的URL按原样传递给服务器。
答案 1 :(得分:4)
curl http://www.kat.ph/search/snow-patrol-shut-your-eyes/?categories%5B%5D=music
对我来说很好。这实际上是你正在使用的吗?或者你有[在你的卷曲字符串?
更新
是的,我在curl http://www.kat.ph/search/snow-patrol-shut-your-eyes/?categories[]=music
上收到同样的错误。您的浏览器在发出请求时为您静默编码[](浏览器允许用户懒惰)。 cURL希望您能够自己编码,因此需要首先对[],空格等字符进行编码。请查看此工具以对网址http://meyerweb.com/eric/tools/dencoder/
答案 2 :(得分:1)
您可以按以下方式转义[和]字符\[
和\]