无法使用curl检索网址

时间:2011-06-04 22:10:35

标签: curl

尝试检索网址http://www.kat.ph/search/snow-patrol-shut-your-eyes/?categories%5B%5D=music 时 使用curl我收到一个错误,上面写着

  

curl:(3)在pos 65的范围规范中[全局]非法字符

为什么会这样?虽然[似乎是浏览器地址栏中一个完全有效的字符,我怎么能在卷曲中检索相同的网址?

3 个答案:

答案 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)

您可以按以下方式转义[和]字符\[\]