Hola Don Ivan, q tal gente. Sabes q tu mail me dejo con curiosidad e hice una investigacion un poquito mas a fondo.
Cree dos scripts en python (gracias a crodas por la ayuda de madrugada), el primero para buscar dominios .gov.py[search-n-list.py] en google y el segundo para mirar las cabeceras de los servidores donde estan alojados esos sitios[peek-in-server.py]. Encontre 105 sitios .gov.py con google (aunq muchos de ellos muertos) y aqui pueden ver la lista. Ni decir q la dupla Apache+PHP arraza con cualquier otro. Y por buenas razones lo hace: es lo mejorcito q hay. Y lo digo despues de haber trabajado bastante con el %(/& de IIS y ASP (me da escalofrios de solo recordarlo) Incluyo codigo fuente de los dos scripts, lista de los sitios q encontre[sitios] y los resultados de mirar las cabeceras[webpy]. Q el floss todavia no esta listo para la empresa... pero por favor... ¬¬ Pablito http://pablo.lnxsoluciones.com/ http://twitter.com/pabloacastillo "La libertad, Sancho, es uno de los más preciosos dones que a los hombres dieron los Cielos; con ella no pueden igualarse los tesoros que encierra la tierra ni el mar encubre; por la libertad, así como por la honra, se puede y debe aventurar la vida..." 2009/5/5 Iván Prieto <[email protected]> > Gracias José! > Quizás lo quieran subir al sitio de COSOLPY como noticia! > > Iván.- > > ---------- Mensaje reenviado ---------- > De: jose cabrera <[email protected]> > Fecha: 5 de mayo de 2009 14:17 > Asunto: Sitios .gov.py en PHP/ASP/Jboss > Para: [email protected] > > > Hola compañeros > > Adjunto un listado de todos los sitios del gobierno descriminado lenguaje > de desarrollo del sitio, para demostrar que el software libre tiene amplias > supremacia sobre el privativo en el ambiente web. > > Este informe es gentileza del CNC. > > Saludos. > > José Luis Cabrera > > > > ___________________________________________________________________ > lista : Lista-sl > direccion : [email protected] > preferencias: http://www.linux.org.py/mailman/listinfo/lista-sl > >
import urllib2
import time
import socket
socket.setdefaulttimeout(30)
f=open('sitios','r')
for line in f:
start_time = time.time()
print line.strip()
request_web = urllib2.Request("http://"+line.strip())
opener_web = urllib2.build_opener()
try:
headers = opener_web.open(request_web).info()
print '>> '+str(headers.getheader('Server'))
print '>> '+str(headers.getheader('X-Powered-By'))
run_time = time.time() - start_time
print '>> %f sec' % run_time
except urllib2.URLError, e:
print '-----------------RIP-----------------'
#!/usr/bin/python
import sys
import re
import string
import httplib
import urllib2
import re
def StripTags(text):
finished = 0
while not finished:
finished = 1
start = text.find("<")
if start >= 0:
stop = text[start:].find(">")
if stop >= 0:
text = text[:start] + text[start+stop+1:]
finished = 0
return text
domain_name=sys.argv[1]
d={}
page_counter = 0
page_counter_web=1
try:
#print "+ Encontre esto papacho:"+""
#print "+++++++++++++++++++++++++++++++++++++++++++++++++++++\n\n"+""
# .* hace match con muchas cosas.... entonces puse [^ ]+ para que ponga todo, mientras
# no sea un espacio, y que termine con el domain_name (fijate en el re.escape)
restr = 'www\.[^ ]+'+ re.escape(domain_name) +'/'
regx = re.compile(restr)
while page_counter_web < 400 :
results_web ="http://www.google.com/search?client=firefox-a&rls=org.mozilla:en-US:official&q=site:"+str(domain_name)+"&start="+str(page_counter_web)
request_web = urllib2.Request(results_web)
request_web.add_header('User-Agent','Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)')
request_web.add_header("HTTP_CONNECTION", "keep-alive")
request_web.add_header("HTTP_KEEP_ALIVE", "300")
request_web.add_header("HTTP_ACCEPT", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8")
request_web.add_header("HTTP_ACCEPT_CHARSET", "ISO-8859-1,utf-8;q=0.7,*;q=0.7")
request_web.add_header("HTTP_ACCEPT_ENCODING", "gzip,deflate")
request_web.add_header("HTTP_ACCEPT_LANGUAGE", "en-us,en;q=0.5")
request_web.add_header("HTTP_USER_AGENT", 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)')
opener_web = urllib2.build_opener()
text = opener_web.open(request_web).read()
dom_webs = regx.findall(StripTags(text))
for dom_web in dom_webs:
d[dom_web]=1
uniq_dom_web=d.keys()
page_counter_web = page_counter_web +10
except IOError:
print "Opa, problemas de conexion ches"+""
for uniq_dom_web in d.keys():
print uniq_dom_web+""
sitios
Description: Binary data
webpy
Description: Binary data
___________________________________________________________________ lista : Lista-sl direccion : [email protected] preferencias: http://www.linux.org.py/mailman/listinfo/lista-sl
