2012-05-15 4 views
0

оригинальный URI есть (допустим): http://xx.xx.xxx.xx:8000/mypath?parm1=1&parm2=heHttpExchange getRequestURI заканчивается перед первым амперсанд "&"

getRequestURI возвращается: http://xx.xx.xxx.xx:8000/mypath?parm1=1 Он игнорирует 2-й параметр.

Если я заменил & запятыми (-ами), он вернет полный URI со всеми параметрами.

У вас возникли те же проблемы? У вас есть решение? Является ли это способом чтения первой строки заголовка GET с помощью другого метода? (С использованием HTTPServer).

+0

Я предполагаю, что вы имеете в виду 'HttpExchange.getRequestURI', а не' HttpServletRequest'? – skaffman

ответ

1

Отправка URL-кода URI, который заменяет специальные символы на процентный код uuencode, решает проблему.

Пример: http://xx.xx.xxx.xx:8000/mypath?parm1=1&parm2=he

становится: http://xx.xx.xxx.xx:8000/mypath?parm1=1&parm2=he

или даже: http://xx.xx.xxx.xx:8000/mypath?parm1=1&parm2=he (нет необходимости кодировать 1-й части)

и getRequestURI возвращает все параметры.