viernes, 24 de abril de 2009

AAP: Bloque 2.8.3: Hacer un CGI que genere un RSS arbitrario. El tipo que hay que devolver es application/xml+rss.




bloque2.8.cgi



#!"C:\Program Files\XAMPP\perl\bin\perl.exe"


use CGI qw(:standard);

print header( -type => 'application/xml+rss' );

print<<EOC;
<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">

<channel>
<title>Barcelona // Marca // marca.com</title>
<link>http://www.marca.com/</link>

<item>

<title><![CDATA[Iniesta pide que se reconozca la gran temporada del Barça]]></title>
<link>http://www.marca.com/2009/04/23/futbol/equipos/barcelona/1240491412.html</link>
<description><![CDATA[Andrés Iniesta reivindicó la reciente trayectoria de su equipo y pidió que se valoren &quot;los méritos&quot; del Barça como líder de la Liga, finalista de la Copa y semifinalista de la Liga de Campeones.&nbsp; <a href="http://www.marca.com/2009/04/23/futbol/equipos/barcelona/1240491412.html">Leer</a>]]></description>
<author><![CDATA[EFE <marca@recoletos.com>]]></author>
<guid isPermaLink="true">http://www.marca.com/2009/04/23/futbol/equipos/barcelona/1240491412.html</guid>
<pubDate>Fri, 24 Apr 2009 09:34 +0200</pubDate>
</item>

<item>
<title><![CDATA[El Barça jugará en julio dos amistosos en Wembley]]></title>
<link>http://www.marca.com/2009/04/23/futbol/equipos/barcelona/1240515304.html</link>
<description><![CDATA[El Barcelona trasladará en el próximo verano su concentración de verano a Londres, donde jugará dos partidos amistosos, en el estadio de Wembley, ante el Tottenham Hotspur inglés y el Al-Ahly egipcio.&nbsp; <a href="http://www.marca.com/2009/04/23/futbol/equipos/barcelona/1240515304.html">Leer</a>]]></description>
<author><![CDATA[EFE. Barcelona <marca@recoletos.com>]]></author>

<guid isPermaLink="true">http://www.marca.com/2009/04/23/futbol/equipos/barcelona/1240515304.html</guid>
<pubDate>Thu, 23 Apr 2009 21:41 +0200</pubDate>
</item>



</channel>
</rss>
EOC



jueves, 2 de abril de 2009

AAP Practica 3: Javascript


Script GreaseMonkey:




// ==UserScript==
// @name serverCarlos
// @namespace Megaupload, Gigasize
// @description Descarga instantanea de distintos servidores de ficheros online sin espera y Añadido de un buscador de ficheros en este tipo de servidores.
// @include http://www.megaupload.com/*
// @include http://www.gigasize.com/*
// ==/UserScript==

//Obtenemos la url de la web para comprobar el servidor en el que estamos
var url=location.href;

//Creamos un div donde introduciremos el buscador
var divNuevo=document.createElement('div');
//Asignamos atributos
divNuevo.setAttribute('id','divNuevo');
divNuevo.setAttribute('align','center');
//Asignamos el estilo al buscador
divNuevo.style.padding='10px';
divNuevo.style.margin='10px';
divNuevo.style.border='solid';

//Creamos una imagen y un formulario que será el buscador
var imagen=document.createElement('img');
imagen.setAttribute('src','http://www.megadownload.net/image/logo.png');
var formulario=document.createElement('form');
formulario.setAttribute('name','formulario');
formulario.setAttribute('id','formulario');
formulario.setAttribute('action','http://www.megadownload.net/search');
//Creamos la etiquera del buscador y el input donde introduciremos la búsqueda y el botón
var etiqueta=document.createElement('label');
var textoEtiqueta=document.createTextNode('Busqueda de archivos para descargar');
etiqueta.appendChild(textoEtiqueta);
var txt=document.createElement('input');
txt.setAttribute('type','text');
txt.setAttribute('id','keyword');
txt.setAttribute('name','keyword');
var boton=document.createElement('input');
boton.setAttribute('type','submit');
boton.setAttribute('value','Buscar');




//-----MEGAUPLOAD-----
if (url.indexOf('www.megaupload.com/')!=-1){
//Borramos el div que contiene el marcador de cuenta atras
var contador=document.getElementById('downloadcounter');
contador.parentNode.removeChild(contador);
//Una vez eliminado el contador, mostramos en su lugar el display de descarga
var link=document.getElementById('downloadlink');
link.style.display='';


//Introducimos el buscador con estilo determinado para no desentonar.
divNuevo.style.background='#fd6802';
document.body.appendChild(divNuevo);

}

//-----GIGASIZE-----
if (url.indexOf('www.gigasize.com/')!=-1){

//Ocultamos el contador y mostramos el enlace de descarga
document.getElementById("verify").style.display="block";
document.getElementById("dlb").style.display="block";
document.getElementById("askPws").style.display="none";


//Introducimos el div con estilo determinado para no desentonar
divNuevo.style.background='#9f9f9f';
document.body.appendChild(divNuevo);

}


//Maquetamos el buscador en el div que creamos para él.
document.getElementById('divNuevo').appendChild(imagen);
document.getElementById('divNuevo').appendChild(formulario);
document.getElementById('formulario').appendChild(etiqueta);
document.getElementById('formulario').appendChild(txt);
document.getElementById('formulario').appendChild(boton);






Ejemplo de uso en Megaupload:


Megaupload



Ejemplo de uso en Gigazise:


Gigasize