URI rezervovane znaky

Tintin tintin na centrum.cz
Pondělí Leden 12 15:27:48 CET 2004


Nesnazim se opravit URL, ale cist z ziskaneho streamu vsechny URL, ktere
jsou v tagech a pak tyto URL stahnout a tak vlastne udelat kopii serveru.
Ted je otazka jestli v tech streamech muzou byt  URL s mezerami misto znaku
+.

Tomas

----- Original Message ----- 
From: "Martin Kuba" <makub na ics.muni.cz>
To: "Java" <konference na java.cz>
Sent: Monday, January 12, 2004 2:28 PM
Subject: Re: URI rezervovane znaky


> Tintin wrote:
> > To ano, jenze adresa muze vypadat nejak takto:
> >
> > http://test.net.cz/pokus neco/blábol CZ.gif.
> >
> > Ono totiž ty rezervavane znaky nemusi byt az v parametrech, ale kdekoli
> > jinde. Chapu, ze 99.999% vse cest je spravne. Ale bohuzel to neni tech
sto
> > procent.
> > Jde mne o to najit rychlejsi metody nez prochazet celou adresu a
nahrazovat
> > rezervovane znaky sekvenci %xx. Ono to totiz zdrzuje.
>
> Pokud dobre chapu vas problem, nevytvarite URL z casti,
> ale berete uz existujici URL a snazite se je opravit.
> Jenze nemuzete zachazet s URL jako s celkem, protoze
> jeho ruzne casti maji ruzny vyznam.
>
> Stejny znak tedy muze nebo nemuze byt zaURLencodovany,
> podle toho, jaky ma vyznam. Pokud je treba ampersand
> oddelovacem mezi parametry, tak zaURLencodovany byt nesmi,
> protoze je specialnim znakem vyznacujicim oddelovac
> mezi parametry. Naopak pokud se ampersand nachazi v nazvu
> nebo hodnote parametru, pak zaURLencodovany byt musi,
> protoze jinak by byl mylne povazovan za oddelovac
> a ne za obycejny znak.
>
> Takze nemuzete vzit cele URL, nebo vsechno od znaku ? do konce
> a zavolat na to URLEncode, protoze ta metoda zaURLencoduje
> uplne vsechno, co dostane.
>
> Strucne receno, provadite velmi nestandardni operaci, a proto
> pro ni nemuzete pouzit zadnou z predem pripravenych funci.
> Vy totiz potrebujete zaURLencodovat jenom nerezervovane znaky,
> kdezto rezervovane znaky (ve smyslu RFC1738) zaURLencodovat nesmite.
>
> Nejspis vam nezbude nez opravdu postupovat znak po znaku, a pokud
> je to mezera nebo non-ASCII znak, nahradit ho %xx.
>
> makub
> -- 
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Supercomputing Center Brno             Martin Kuba
> Institute of Computer Science    email: makub na ics.muni.cz
> Masaryk University             http://www.ics.muni.cz/~makub/
> Botanicka 68a, 60200 Brno, CZ     mobil: +420-603-533775
> --------------------------------------------------------------
>



Další informace o konferenci Konference