我正在使用apache tomcat和mod_jk并在其上运行shindig。我试图将以下网址传递给它
http://download.finance.yahoo.com/d/quotes.csv?s= ^ GSPTSE + ^ SPCDNX + MIC.TO + ABX.TO + AEM.TO&安培; F = snl1d1t1c1急症=&的.csv放大器;随机= 5683
并且它无法给出错误400(无效的url参数)
如果我在没有任何参数的情况下传递了网址,那就完全正常了。
你可以查看以下网址的consol日志
我尝试了很多东西,但没有运气。我不确定是否是tomcat问题或其他问题。如果有任何专家遇到同样的问题,请您分享一些信息。
谢谢。
此致 拉吉
答案 0 :(得分:0)
最有可能的问题是,插入符号(^)不是有效的URL字符。他们被认为是'不安全的"每RFC1738。引用该RFC:
......其他角色不安全,因为网关和其他传输 已知代理有时会修改这些字符。这些 字符是" {","}"," |"," \"," ^ " ,"〜"," [","]"和"`"。
您应使用%5E
对网址中的插入符号进行编码。一些程序员和库默认情况下不这样做,因为它不是常用的符号,有些系统即使不完全兼容也能正确处理它。
您的示例中不清楚您是否正在对您的网址进行编码,如果是,那么您在何处进行编码。如果根本不编码,您可能还需要对加号进行编码。根据您的示例,完全编码的s
值为:
%5EGSPTSE%2B%5ESPCDNX%2BMIC.TO%2BABX.TO%2BAEM.TO