2016-05-02 5 views
1

У меня есть URL-адрес, как показано ниже.Колон в URL-адресе при перенаправлении?

http://editor-sandbox.multiscreensite.com/home/dashboard?stat:339716385fb44bffae0d915cece952b8&dm_sso=2!eyJ2ZXJz 

здесь URL имеет двоеточие в нем (:)

Теперь я перенаправлять URL, как показано ниже.

pageRef= new PageReference(aboveURL); 
       pageRef.setRedirect(true);  
       return pageRef; 

Но в браузере, это удаление всех URL-адрес Params и конечный URL в браузере:

http://editor-sandbox.multiscreensite.com/home/dashboard 

Как я могу сохранить все значения в URL, включая толстую кишку?

ответ

1

Colon - зарезервированный символ в URL-адресах (см. RFC 3986). Всякий раз, когда существует вероятность того, что значения могут иметь зарезервированные символы, вы должны UrlEncode его (это заменит : с %3A, ! с %21, и другие, если таковые имеются):

url = 'http://editor-sandbox.multiscreensite.com/home/dashboard?' 
    + EncodingUtil.urlEncode('stat:339716385fb44bffae0d915cece952b8,'UTF-8') 
    + '&dm_sso=' 
    + EncodingUtil.urlEncode(2!eyJ2ZXJz','UTF-8');