Array
(
)

Codificar uma String

Redoctober
   - 17 jan 2006

Bom pessoal,

Fiz um navegador em dephi para interagir com um programa feito em php. Só que preciso codificar as url do navegador...

Então usei uma classe feita em php para codificar a URL, em php funciona perfeito. Gostaria de usar essa classe em delphi, como eu construiria ela?

Abaixo esta a classe em php:

Citação:

class urlEncrypt{
var $var_name=´uaisegnet´;
var $decode_url;

# Função decriptadora
function decrypt_url(){
$this->decode();
}

Função que encripta todos os dados passados por GET
function encode($url){
$pos_debut=strpos($url,´?´); if(!$pos_debut){$sep=´&´;}
$pos_fin=strpos($url,´ ´);
if($pos_fin){
$pos_long=$pos_fin-$pos_debut-1; $fin=substr($url,$pos_fin);
}else{
$pos_long=strlen($url)-$pos_debut-1;
}
$debut=substr($url,0,$pos_debut+1);
$param=substr($url,$pos_debut+1,$pos_long);
$code = base64_encode($param);
return $debut.$sep.$this->var_name.´=´.$code.$fin;
}

# Função que decripta os dados da url
function decode (){
if($_REQUEST[$this->var_name]){
$this->decode_url=base64_decode($_REQUEST[$this->var_name]);
parse_str($this->decode_url, $tbl);
foreach($tbl as $k=>$v){
$_REQUEST[$k]=$v;
global $$k;
$$k=$v;
}
}
}

}
?>


Se alguem puder me ajudar...
Abraços


Massuda
   - 17 jan 2006

Não sei se é exatamente e mesma coisa, mas na unit HttpApp tem uma função chamada HttpEncode que serve para codificar URLs de modo compatível ao usado pelos servidores web (por exemplo, branco vira ´+´).