Beruflich Dokumente
Kultur Dokumente
FranciscoSerradilla
Arquitectura Web
URL E/Sestndar HTTP1.1 URL E.estndar
Servidor
S.estndar
CGI
Common Gateway Interface
HTML,otros
Ficheros
Cliente (usualmentenavegador)
FranciscoSerradilla
Biblioteca java.net
claseURL
RepresentaunUniformResourceLocator,quepuede construirseapartirdeunString
claseURLConnection(recomendada)
PermiteestablecerunaconexinconunservidorWeby accederaloscontenidoscomosifueraunarchivodetexto Permitevariosprotocolos(HTTP,FTP,SSL,etc.)
claseSocket
Permiteestablecerenlacesdecomunicacinentre aplicacionesfueradelprotocoloHTTP,esdecir,definirun protocolopropio
FranciscoSerradilla
claseURLEncoder(formatoxwwwurlform)
staticStringencode(Strings,Stringenc) staticStringencode(s,ISO88591)
FranciscoSerradilla
FranciscoSerradilla
Formularios
Cuandotenemosquepasarciertainformacinal servidorparaqueesteobtengalainformacinque queremosdebemosutilizaformularios(forms)
EsloqueseconocecomoCGI Hayqueespecificarelprogramaquerespondeala peticin Hayqueespecificarlosnombresyvaloresdelas variablesquecontendrnlainformacinaenvar Cadavariablesecorrespondeconuncampodel formulario Losnombresnosonsensiblesalcase;losvaloress
FranciscoSerradilla
conPOST
Lainformacindecamposyvaloresseenvapor entrada/salidaestndar Seguidamenteserecibelarespuestademodosimilar aunGET
FranciscoSerradilla
Campos
entrelostags<form>y</form>podemosencontrar diferentesespecificacionesdecampos estoscampostendrnunaaparienciafsica,unnombrey unvalor,ysernenviadosalservidor,ydestealCGI, alpulsarelbotnenviar
FranciscoSerradilla
Campos checkbox
<INPUTTYPE=checkboxNAME="baseball" VALUE="YCHECKED>Baseball<BR> <INPUTTYPE=checkboxNAME="basketball" VALUE="Y">Basketball<BR> <INPUTTYPE=checkboxNAME="football" VALUE="Y"CHECKED>Football<BR> <INPUTTYPE=checkboxNAME="hockey" VALUE="Y">Hockey<BR> <INPUTTYPE=checkboxNAME="soccer" VALUE="Y">Soccer
seenviarantantosparesname=valuecomochecks hayaactivos
http://www.webcom.com/cgibin/form? baseball=Y&football=Y
FranciscoSerradilla
Campos radio
<BR><INPUTTYPE="radio"NAME="sport"VALUE="soccer"CHECKED>Soccer <BR><INPUTTYPE="radio"NAME="sport"VALUE="baseball">Baseball <BR><INPUTTYPE="radio"NAME="sport"VALUE="basketball">Basketball <BR><INPUTTYPE="radio"NAME="sport"VALUE="football">Football <BR><INPUTTYPE="radio"NAME="sport"VALUE="hockey">Hockey
seenvaunniconame=value,eldelaopcin elegida
http://www.webcom.com/cgibin/form?sport=football
FranciscoSerradilla
Campos select
<SELECTNAME=platforms> <OPTION>Windows <OPTION>Macintosh <OPTION>UNIX </SELECT> <SELECTNAME=todaySIZE=5> <OPTIONVALUE=drink>DrinkExpresso <OPTIONVALUE=readSELECTED>ReadABook <OPTIONVALUE=walk>TakeAStroll <OPTIONVALUE=talk>TalkWithFriends <OPTIONVALUE=eat>EatABagel <OPTIONVALUE=veg>WatchTV <OPTIONVALUE="PigOut">MunchTeddy Grahams </SELECT>
seenvaunniconame=value,eldelaopcinelegida
elvaluedependedelformatoutilizado http://www.webcom.com/cgibin/form?platforms=Windows
FranciscoSerradilla
Campos textarea
<TEXTAREANAME="feedback"ROWS=20 COLS=60></TEXTAREA>
seenvaname=valueigualqueenuntext
submityreset
nohayqueconsiderarlos,yaquenosuelenutilizarse porelCGI(salvoqueunmismoformtengavarios botones)
Ejemplo (I)
FranciscoSerradilla
Ejemplo (II)
<formmethod=POSTaction="/cgibin/search.cgi"> <tableborder=0cellpadding=4cellspacing=0BGCOLOR="#FFFFCC"> <tr> <td><inputtype=textname="terms"size=48> <td><inputtype=submitvalue="Buscar"> </tr> <tr> <td><b>Concatenación:</b> <selectname="boolean"> <option>AND <option>OR </select> <b>Mayúsculas:</b> <selectname="case"> <option>Nosensible <option>Sensible <td></select> <br></tr> </table> </form>
FranciscoSerradilla
UserAgent,Referer,Cookie RFC2616(RequestForComments)
Recepcindeinformacindelservidor
fechademodificacin,tamao,SetCookie
publiclonggetDate() publicintgetContentLength() publicStringgetHeaderField(Stringname) conname=SetCookie
FranciscoSerradilla
Construccin de un robot
Alascapacidadespararecuperarpginasy consultarformularioshemosdeaadir
Iteracinsobrelinks
visitartodaslaspginasdeundominio
Verificacinpginas
stringmatching contenidosemnticolatente
Extraccininformacin
delimitadores comparacindepginasparadeterminarqueslo relevante
FranciscoSerradilla
Pasodelinksaabsolutos
constructorURL(URLcontext,Stringspec)
Recursinsobreloshiperlinks
FranciscoSerradilla