2010-05-04 78 views
1

我試圖用Reducisaurus Web Service來縮小CSS和Javascript,但我碰到的一個問題...大廈Reducisaurus網址

想我已經2個unminified CSS在:

http:/domain.com/dynamic/styles/theme.php?color=red 
http:/domain.com/dynamic/styles/typography.php?font=Arial 

根據該文檔我應該這樣調用Web服務:

http:/reducisaurus.appspot.com/css?url=http:/domain.com/dynamic/styles/theme.php?color=red 

如果我想馬上來縮小這兩個CSS文件:

http:/reducisaurus.appspot.com/css?url1=http:/domain.com/dynamic/styles/theme.php?color=red&url2=http:/domain.com/dynamic/styles/theme.php?color=red 

如果我想指定不同的幾秒鐘的高速緩存(3600爲例)我會用:

http:/reducisaurus.appspot.com/css?url=http:/domain.com/dynamic/styles/theme.php?color=red&expire_urls=3600 
兩個CSS文件

再次以一次:

http:/reducisaurus.appspot.com/css?url1=http:/domain.com/dynamic/styles/theme.php?color=red&url2=http:/domain.com/dynamic/styles/theme.php?color=red&expire_urls=3600 

現在我的問題是,Reducisaurus如何知道如何分離我想要的URL?它如何知道&expire_urls=3600不是我的 URL的一部分?它是如何知道&url2=...不是url1的GET參數?我是這樣做對嗎?我需要urlencode我的網址嗎?

我花了不期而遇的源代碼,雖然我的Java是非常差似乎methods acquireFromRemoteUrl() and getSortedParameterNames() from the BaseServlet.java file持有的回答我的問題 - 如果獲取參數的名稱包含-_他們應該忽略?!

怎麼樣多個&url(n) s?

回答

1

是的,你需要對你的URL進行URL編碼,然後將它們作爲參數提交給另一個webservice。

E.g.

http://google.com 

變爲

http%3A%2F%2Fgoogle.com 

如果你這樣做,沒有特殊的字符,如?,&,=等等生存可能混淆了Web服務的過程。

(不太清楚你與你的第二個問題,問,對不起。)

1

一切與網址開頭是threated作爲一個新的網址,所以你不能傳遞一個叫URL2作爲一個獲取參數的參數網址1。

不包含' - '的每個參數名稱將被視爲輸入。

所以,如果你

...?file1=...&url1=...&max-age=604800, 

的最大年齡將不會被視爲輸入。

然而,

...?file1=...&url1=...&maxage=604800 

這裏的最大生存週期將被視爲輸入。

+0

謝謝,這就是我雖然。關於urlencoding,是否有必要? – 2010-05-04 17:44:53