martes, enero 29, 2008

WGET: Download "persistente"

A veces ocurre que tenemos que bajar algo muy grande y por temas de nuestra red interna o la red del proveedor se corta el download a la mitad.

Para evitar esto podemos usar wget pero ¿y si la página está protegida con usuario?, si esta protección usa cookies podemos usarlo con la opción --load-cookies y usando el navegador para generar una cookie válida tanto en Firefox como en IExplorer.

Suponemos que tenemos el fichero 10gr2_companion_hpi.zip que hemos comenzado a bajar desde otn.oracle.com con el navegador y ha fallado a los 200MB:

1. Estamos validados en OTN con usuario y contraseña en el navegador.
2. Copiamos o exportamos el fichero de cookies en el directorio de wget.
3. Copiamos la URL de la página web en el fichero otn.txt.
4. Ejecutamos el wget:

C:\> wget -c -i otn.txt -O 10gr2_companion_hpi.zip --no-check-certificate --load-cookies cookies.txt.ff

--09:23:47-- http://download.oracle.com/otn/hp/oracle10g/10201/itanium/10gr2_co
mpanion_hpi.zip
=> `10gr2_companion_hpi.zip'
Resolving download.oracle.com... 87.248.199.20, 87.248.199.22
Connecting to download.oracle.com|87.248.199.20|:80... connected.
HTTP request sent, awaiting response... 206 Partial Content
Length: 1.504.430.051 (1.4G), 1.292.714.171 (1.2G) remaining [application/zip]

39% [+++++========> ] 591.636.384 --.--K/s ETA 1:24:19

Y continua bajando desde el punto, en caso de que vuelva a cortarse, wget lo reintentará varias veces.

WGET: Uso de certificados.

A veces es necesario usar una herramienta off-line para la verificación de sitios https de forma remota o para bajarse ficheros de sitios protegidos con certificados.

Para este tipo de tareas la herramienta perfecta es, sin duda, wget. Existen versiones para Unix, VMS, Windows y MS-DOS con packet drivers.

El procedimiento para usarlo con certificados sería algo así (no esta totalmente verificado):

1. Escribimos la URL a la que queremos acceder la copiamos en el fichero testurl.txt


2. Suponiendo que estemos usando Unix y que tengamos el certificado en un fichero cert.pfx:

Primero debemos convertir el fichero cert.pfx en un fichero cert.pem:

openssl pkcs12 -in cert.pfx -out cert.pem -nodes

Del fichero cert.pem copiamos el certificado al fichero "cert":

-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

Y la clave al fichero "key":

-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----

3. A continuación ejecutamos la consulta con el wget:

$ wget -i testurl.txt --certificate=cert --private-key=key --no-check-certificate

--11:42:59-- https://sitio.com/miurl/objetivo.html
=> `objetivo.html'
Resolving sitio.com... 123.456.789.1
Connecting to sitio.com|123.456.789.1|:443... connected.
WARNING: Certificate verification error for sitio.com: self signed certificate in certificate chain
HTTP request sent, awaiting response... 200 OK
Length: 214 [text/html]

100%[===================================================>] 214 --.--K/s

11:42:59 (21.45 MB/s) - `objetivo.html' saved [214/214]


FINISHED --11:42:59-- Publicar entrada
Downloaded: 214 bytes in 1 files

Listo, si miramos en el fichero "objetivo.html" veremos la respuesta.

miércoles, enero 23, 2008

Oracle: Consultar parametros de sesion.

La tabla donde se incluyen los parámetros de sesión es la vista dinámica v$parameters, para poder consultarla sys tiene que darle permisos al usuario:

grant select on v_$parameter to usuario;

A partir de ese momento ya se pueden consultar los parámetros:

SQL> SELECT NAME,VALUE FROM V$PARAMETER WHERE NAME = 'optimizer_mode' ;

NAME
--------------------------------------------------------------------------------
VALUE
--------------------------------------------------------------------------------
optimizer_mode
CHOOSE