2010-05-04 1 views
1

Я пытаюсь использовать Reducisaurus Web Service для Минимизировать CSS и Javascript, но я столкнулся с проблемой ...Строительство Reducisaurus URL-

Предположим, я два unminified CSS на:

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

По на документы я должен позвонить веб-службы, как это:

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 не является частью my URL? И как он знает, что &url2=... не является аргументом GET url1? Я делаю это правильно? Нужно ли мне urlencode моих URL?

я взял заглянуть в исходный код, и хотя мой Java очень плохо, кажется, что methods acquireFromRemoteUrl() and getSortedParameterNames() from the BaseServlet.java file держать ответы на мой вопрос - если аргумент имя GET содержит - или _ они должны быть проигнорированы ?!

Как насчет нескольких &url(n)?

ответ

1

Да, вам необходимо URL-кодировать URL-адреса, прежде чем отправлять их в качестве параметра в другой веб-сервис.

E.g.

http://google.com 

Становится

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

Если вы сделаете это, без специальных символов, как?, & = и так далее пережить процесс, который может запутать WebService.

(Не совсем уверен, что вы просите с вашим вторым вопросом, извините.)

1

все, что начинается с URL является threated как новый URL, так что вы не можете передать параметр, называемый URL2 как ПОЛУЧИТЬ аргумент url1.

Каждое имя параметра, не содержащее '-', будет рассматриваться как вход.

Так что, если вы

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

макс возраста не будет рассматриваться в качестве входных данных.

Однако

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

здесь MaxAge будет рассматриваться в качестве входных данных.

+0

Спасибо, это то, что я, хотя. Что касается urlencoding, это необходимо? –