Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: YAcosta en Junio 14, 2011, 03:18:54 am
-
No tengo idea de como empezar esto. Me he instalado un soft administrativo (siempre estudiando a la competencia) y he visto que tiene un formulario de Cambio de Divisas, donde escoge su moneda local (por ejemplo Peso Argentino) y otra moneda (Dolar Americano) que cuando le da a Actualizar trae la conversión respectiva.
A mi me basta con que en un label se pinta el valor del dolar americano en mi pais. ¿Como podria hacer eso?
Imagino que debo buscar alguna web que me de ese servicio?, por ejemplo, con S/.2.80 compro $1.00, osea mi tipo de cambio es 2.80, eso quiero traerme de alguna web.
Gracias.
-
Hola Yvan lo que podes hacer es conseguirte un sniffer para ver cual es la web que consulta dicho soft, y luego reproducir la sequencia.
Saludos.
-
aja, ya voy a buscar, por si acaso, el programa en cuestión es el AceMoney Lite.
http://www.mechcad.net/downloads/AceMoneyLiteSetup.exe (http://www.mechcad.net/downloads/AceMoneyLiteSetup.exe)
-
Hola por lo que pude ver utiliza el servicio de finance.yahoo.com pero bueno parece que no esta tan facil rastrear la peticion, por lo que vi hace un GET de mcsl2.finance.vip.ac4.yahoo.net/q?s=USDARS=X pero el link parece roto.
-
@Leandro: che postea el header completo, lo mas probable es que agregue algun "User-Agent: AceMoney" o algo asi, que si no lo envias, no te da data..
-
Hola coco, si y depaso aclaro que me equivoque con el host del link seria finance.yahoo.com/q?s=USDARS=X (http://finance.yahoo.com/q?s=USDARS=X)
IP
Version:4
Header len.:20
Total len.:208
ID:$4B6F
fragmentation
DF=0
MF=0
TTL:128
Protocol:$06 (TCP)
Checksum:$8CC8
Source IP:10.0.0.3
Dest. IP:209.191.70.46
TCP
src_port:51866
dest_port:80
seq_number:4075987873
ack_number:445758798
data_offset:5
flags (PUSH)
urgent :0
ack :1
push :1
reset :0
syn :0
fin :0
window:16425
checksum:$91F1
urgent_pointer:$00
HTTP
GET /q?s=USDARS=X HTTP/1.0
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)
Accept: */*
Referrer: http://finance.yahoo.com
Host: finance.yahoo.comsi lo pasas asi nomas en el navegador te da como respuesta un html comun quizas pasando el referrer de http://finance.yahoo.com te da un xml o algo por el estilo, lo que si en el sniffer no vi ninguna respuesta de entra son solo peticiones
(http://s3.subirimagenes.com:81/otros/previo/thump_6533435image1.jpg) (http://www.subirimagenes.com/otros-image1-6533435.html)
-
guauu que paja, no sabia que se podía hacer eso. El sniffer es el Ip Tools? voy a buscarlo y aprender a ver como se usa.
-
@Leandro, pasale el referrer http://finance.yahoo.com y listo. eso si, te devuelve un html, y no un xml.
el header completo (que envia el soft) es este:
GET /q?s=USDARS=X HTTP/1.0
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)
Accept: */*
Referrer: http://finance.yahoo.com
Host: finance.yahoo.com
y el que nosotros deberiamos enviar (para ahorrarnos el timeout y ciertas boludeces del socket:
GET /q?s=USDARS=X HTTP/1.0
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)
Accept: */*
Connection: close
Referrer: http://finance.yahoo.com
Host: finance.yahoo.com
para parsear:
1º busca el texto que empieza en Last Trade: hasta </b>
2º sacar la data, que esta entre: =x"> y </span
saludos
-
jaja mira como hakckean los muchachos, por si no saben yahoo finance tiene una api, y en 2 patadas hacen eso :P
-
jaja mira como hakckean los muchachos, por si no saben yahoo finance tiene una api, y en 2 patadas hacen eso :P
porfa... date el gusto, dame las dos patadas jeje ;) ¿Como se hace?
Saludos
-
ok, ahi van las patadas :)
primero un script de php de una web, ahi tenes todos los ID de las monedas en un array, despues la consulta a la web creo que se entiende.
CodeIgniter using yahoo finance : A CodeIgniter Payment Library (http://mvclogic.com/php/payment-getway-api-for-codeigniter-using-yahoo-finance-a-codeigniter-payment-library/)
y segundo algo mas entendible usando lo mismo, ahi ya tenes la URL para hacer la consulta, solo pasarle los parametros...}
Basic Java Currency converter using Yahoo Finance API (http://www.codereye.com/2009/03/basic-java-currency-converter-using.html)
aca un ejemplo de pasar dolares a los Shekels isaraelies
te devuelve un archivo plano que no habria problemas para leerlo.
http://download.finance.yahoo.com/d/quotes.csv?s=USDILS=X&f=l1&e=.cs (http://download.finance.yahoo.com/d/quotes.csv?s=USDILS=X&f=l1&e=.cs)
pero si buscas encontras miles de ejemplos de uso de esta api...ya que un monton de webs la usan.
saludos.
-
Excelente Sebas. Muchas gracias. Esas patadas siempre serán bien recibidas.
Saludos
-
Bueno yo hago consultas de una web de esta forma , me sirve pa excel (macros) y Vb 6.0 :
En este caso es para consultar la razon social (nombre y apellido) a partir del RUC (que es un codigo que tiene cada persona con negocio)
Public Function razonsocial(rucc As String) As String
Dim celda
On Error Resume Next
web = "pagina web de sunat peru" & rucc
principio = rucc
final = " <br/></small>"
Set xml = CreateObject("Microsoft.XMLHTTP")
xml.Open "POST", web, False
xml.Send
texto = xml.responseText
posicion1 = InStr(xml.responseText, principio)
posicion2 = InStr(xml.responseText, final)
dato = Mid(xml.responseText, posicion1 + 14, (posicion2 - posicion1) - 14)
If Err = 0 Then
razonsocial = dato
Else
razonsocial = "Imposible Obtener Resultados"
End If
Set xml = Nothing
End Function
-
Muy bueno Seba desconocia esa API de yahoo no lei mucho pero seguramente tiene para varias cosas mas.
aca dejo un ejemplito
https://rapidshare.com/files/3063222167/YahooFinance.zip
Saludos
[OFF TOPIC] veo que hay mucha actividad en el foro, lo cual me alegra mucho, lastima este horario choto de trabajo que tengo no me da tiempo en nada, esta semana voy a hacer algun aporte.
-
El gadget!!! el gadget!!! jejeje
Leandro, el código funciona perfecto, gracias...
-
Buenisimo el ejemplo LeandroA. grandee
-
[OFF TOPIC] veo que hay mucha actividad en el foro, lo cual me alegra mucho, lastima este horario choto de trabajo que tengo no me da tiempo en nada, esta semana voy a hacer algun aporte.
si lo decis por mi si 8), I'm Back jeje, igual que vos explique en otro post que no estabaa aportando nada hace mucho por el trabajo, pero el fin de semana voy con todo.
PD:tengo pendiente publicar lo de ADO, ya lo voy a hacer y le va a servir a muchos.
-
Muy bueno Seba desconocia esa API de yahoo no lei mucho pero seguramente tiene para varias cosas mas.
aca dejo un ejemplito
https://rapidshare.com/files/3063222167/YahooFinance.zip
Saludos
[OFF TOPIC] veo que hay mucha actividad en el foro, lo cual me alegra mucho, lastima este horario choto de trabajo que tengo no me da tiempo en nada, esta semana voy a hacer algun aporte.
Hola leandro estoy intentando bajar esto y no puedo no tenes un link alternativo?
Gracias
-
Aca tenes en media fire.
http://www.mediafire.com/?cf79ed5wwwmxcnx (http://www.mediafire.com/?cf79ed5wwwmxcnx)