okinagua Posted November 2, 2009 Report Share Posted November 2, 2009 Gracias, esta bueno, pero con el Dolar sale un signo $ al final, para que lo revises. Saludos PD: Es copy-paste del codigo y funciona. Link to comment Share on other sites More sharing options...
Hans183 Posted December 22, 2009 Report Share Posted December 22, 2009 solo me muestra el valor de la utm, que ondi el dolar y las demas cosas Link to comment Share on other sites More sharing options...
Shagrath Posted December 29, 2009 Report Share Posted December 29, 2009 funciona refacil, asi ke gracias man... Saludos Link to comment Share on other sites More sharing options...
Ra Posted December 30, 2009 Report Share Posted December 30, 2009 Wen aporte... Yo hice el mío y funciona así: 1. Consulta al banco central con un POST donde le paso la fecha que quiero 2. Leo el HTML de respuesta, filtro parecido como nuestro amigo y pongo los valores en unos <INPUT..> La página no tiene decoros ni nada... sólo la hice para resolver el problema... Lo tengo en versión HTML+Ajax (para consultar desde el cliente y no ocupar recursos de servidor) y en PHP (para consultar desde el server). Aquí va el código para HTML+Ajax: Esto lo ponen en el archivo ajax.js var ajaxObject; function ajaxObj(){ if (window.XMLHttpRequest) { // Mozilla, Safari, ... ajaxObj = new XMLHttpRequest(); if (ajaxObj.overrideMimeType) { ajaxObj.overrideMimeType('text/xml'); // See note below about this line } } else if (window.ActiveXObject) { // IE try { ajaxObj = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { ajaxObj = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } return ajaxObj; } function getResponse(values, f){ if(!ajaxObject){ ajaxObject = ajaxObj(); } var urlRequest = "http://si2.bcentral.cl/Basededatoseconomicos/951_480.asp"; ajaxObject.open("POST", urlRequest + "?" + values, true); ajaxObject.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajaxObject.setRequestHeader("Content-length", values.length); ajaxObject.setRequestHeader("Charset", "ISO-8859-1"); ajaxObject.setRequestHeader("Connection", "close"); ajaxObject.onreadystatechange = f; ajaxObject.send(null); } function getValues(){ if (ajaxObject.readyState == 4){ var data = ajaxObject.responseText; if(data){ document.getElementById('uf').value = processData(data, data.indexOf("(UF)", 1)); document.getElementById('dolar').value = processData(data, data.indexOf("observado", 1)); document.getElementById('euro').value = processData(data, data.indexOf("Euro", 1)); document.getElementById('yen').value = processData(data, data.indexOf("Yen", 1)); } } } function processData(data, startPos){ startPos = data.indexOf("detalle>", startPos) + 8; var endPos = data.indexOf("</td>", startPos); var ret = data.substr(startPos, endPos - startPos); if(ret.substr(1, 1) == '&'){ return "--"; } else{ return ret; } } esto lo ponen en un xxxxx.htm. Ocupé un calendario JS que bajé en http://download.base86.com/?file=vlaCalendar.v2.1.1.rar lo descomprimen en la carpeta xtras. La estructura del directorio debería quedar así: /xxxxx.htm /xtras/dhtmlxCalendar/dhtmlxCalendar/codebase/.... <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title></title> <meta http-equiv="Cache-Control" content="no-cache" /> <script type="text/javascript" charset="utf-8" src="dataAjax.js"></script> <link rel="stylesheet" type="text/css" href="/xtras/dhtmlxCalendar/dhtmlxCalendar/codebase/dhtmlxcalendar.css" /> <script src="/xtras/dhtmlxCalendar/dhtmlxCalendar/codebase/dhtmlxcommon.js"></script> <script src="/xtras/dhtmlxCalendar/dhtmlxCalendar/codebase/dhtmlxcalendar.js"></script> <script>window.dhx_globalImgPath="/xtras/dhtmlxCalendar/dhtmlxCalendar/codebase/imgs/";</script> <script type="text/javascript" language="Javascript"> var dhtmlxCalendarLangModules = new Array(); dhtmlxCalendarLangModules['es'] = { langname: 'es', dateformat: '%d-%m-%Y', monthesFNames: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"], monthesSNames: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"], daysFNames: ["Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo"], daysSNames: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa"], weekend: [0], weekstart: 1, msgClose: "Cerrar", msgMinimize: "Minimizar", msgToday: "Hoy" }; var mCal; function setCalendario(){ var now = new Date(); mCal = new dhtmlxCalendarObject("txtCalendario") mCal.loadUserLanguage("es"); mCal.setDate(now); } function displayValues(){ var fecha = new Date(mCal.getDate()); var dia = fecha.getDate(); var mes = fecha.getMonth() + 1; var ano = fecha.getFullYear(); getResponse('selDia=' + dia + '&selMes=' + mes + '&selAno=' + ano + '&inSesionAccion=&inSesionAncla=&inSesionAno=' + ano + '&inSesionASP=951_480.ASP&inSesionActionUltimaPagina=951_480.asp&inSesionBuscar=&inSesionCapitulo=&inSesionCuadro=IND-DIA-2004&inSesionCuadroM03=&inSesionDia=' + dia + '&inSesionFormato=&inSesionFrecuencia=&inSesionGrafico=&inSesionIdioma=&inSesionInicio=&inSesionIP=&inSesionMes=' + mes + '&inSesionNavegador=Netscape&inSesionPaginaAnterior=&inSesionPeriodicidad=&inSesionPeriodo=&inSesionSeparador=&inSesionSerie=&inSesionArregloNavegacion=&inSesionArregloHistory=', getValues); } </script> </head> <body onLoad="java script: setCalendario(); displayValues();"> <form name="Form1" id="Form1" method="POST" target="_blank"> <input type="text" id="uf" /> <input type="text" id="dolar" /> <input type="text" id="euro" /> <input type="text" id="yen" /> <input type="text" id="txtCalendario" style="width: 80px;" maxlenght="10"/> <input type="button" onclick="java script: displayValues();" value="Ver" /> </form> </body> </html> Este es el de PHP: En un archivo xxxxx.php <? function getValues($dia, $mes, $ano){ $variables = "selDia=" . $dia . "&selMes=" . $mes . "&selAno=" . $ano . "&inSesionAccion=&inSesionAncla=&inSesionAno=" . $ano . "&inSesionASP=951_480.ASP&inSesionActionUltimaPagina=951_480.asp&inSesionBuscar=&inSesionCapitulo=&inSesionCuadro=IND-DIA-2004&inSesionCuadroM03=&inSesionDia=" . $dia . "&inSesionFormato=&inSesionFrecuencia=&inSesionGrafico=&inSesionIdioma=&inSesionInicio=&inSesionIP=&inSesionMes=" . $mes . "&inSesionNavegador=Microsoft+Internet+Explorer&inSesionPaginaAnterior=&inSesionPeriodicidad=&inSesionPeriodo=&inSesionSeparador=&inSesionSerie=&inSesionArregloNavegacion=951_portada.asp%3Fidioma%3DE%25%25%25%25%25Portada%23%23%23%23951_480.asp%25%25%25%25%25Indicadores+del+d%26iacute%3Ba&inSesionArregloHistory=951_480.asp%23%23%23%23951_480.asp%23%23%23%23951_480.asp%23%23%23%23951_480.asp%23%23%23%23951_480.asp"; $ch = curl_init("http://si2.bcentral.cl/Basededatoseconomicos/951_480.asp"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $variables); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec($ch); curl_close($ch); $start = strpos($data, "(UF)"); echo "UF = " . getValue($data, $start) . "<br>\n"; $start = strpos($data, "Dólar observado"); echo "Dólar Observado = " . getValue($data, $start) . "<br>\n"; $start = strpos($data, "Euro"); echo "Euro = " . getValue($data, $start) . "<br>\n"; $start = strpos($data, "Yen"); echo "Yen = " . getValue($data, $start) . "<br>\n"; } function getValue($data, $start){ $start = strpos($data, "detalle>", $start) + 8; $end = strpos($data, "</td>", $start); $ret = substr($data, $start, $end - $start); return $ret; } getValues(30, 12, 2009); ?> Pueden ejecutar inmediatamente xxxxx.php y les escribe los valores en la página o pueden modificar el .php para que responda a un GET o POST. Bueno, espero que les sea de utilidad y ojalá alguien lo mejore y comparta.... NOTA: Si alguien trabaja con eyeOS también construí la aplicación con la misma lógica. Agradezcan... Link to comment Share on other sites More sharing options...
kaboom Posted April 3, 2010 Report Share Posted April 3, 2010 Gracias funciona perfecto Link to comment Share on other sites More sharing options...
jpx2006 Posted May 8, 2010 Report Share Posted May 8, 2010 Oye de verdad muchas gracias, es justo lo que estaba buscando y si no lo hubieras puesto aqui jamas podria haberlo hecho yo. Tengo funcionando la UF, UTM, Euro... No logro nada con el dolar.. me sale Dolar nada mas... sin el precio.. Alguien me ayuda? aqui esta utilizado el codigo http://www.chilecrece.cl Esta en la cabezera... Saludos!!!!!!!!! Link to comment Share on other sites More sharing options...
soujiro_valk Posted May 26, 2010 Report Share Posted May 26, 2010 muy util, muchas gracias Link to comment Share on other sites More sharing options...
c3sarin Posted May 27, 2010 Report Share Posted May 27, 2010 revisando a ver que tal, muchas gracias !!!! Link to comment Share on other sites More sharing options...
cote_apc Posted June 28, 2010 Report Share Posted June 28, 2010 Te pasaste!, probado y andando Muchas gracias!!!! Link to comment Share on other sites More sharing options...
DAЯK MOЯGAN Posted June 30, 2010 Report Share Posted June 30, 2010 muchas gracias compadre! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now