FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Api abre web pero necesito guardar el fichero SOLUCION
Posts: 350
Joined: Wed Nov 02, 2005 03:28 PM
Api abre web pero necesito guardar el fichero SOLUCION
Posted: Thu Dec 23, 2021 09:03 AM
Hola,

Tengo un proveedor que mediante un api descargo el fichero de tarifa, que después incorporo en nuestro Erp.

El problema que tengo es que siempre me abre el navegador paras descargar el fichero y me gustaria que se guardara automaticamente en un directorio para que evitar errores de los usuarios, os pongo el cogido que utilizo, ¿Alguna sugerencia?

Code (fw): Select all Collapse
   vdirweb:="https://apiv2.proveedor.com/api/Tarifa/GetFileV2?user=999999999"
   ShellExecute(, "open" ,vdirweb,,, 1 )


Muchas gracias por anticipado por la ayuda,
Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com
Posts: 350
Joined: Wed Nov 02, 2005 03:28 PM
Re: Api abre web pero necesito guardar el fichero SOLUCION
Posted: Thu Dec 23, 2021 10:22 AM
Os pongo como lo he solucionado :

Code (fw): Select all Collapse
WAITRUN("wget <!-- m --><a class="postlink" href="https://apiv2.proveedor.com/api/Tarifa/GetFileV2?user=99999">https://apiv2.proveedor.com/api/Tarifa/ ... user=99999</a><!-- m -->  -O C:\GESMAN\TARIFA.CSV  --no-check-certificate",0)
Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Api abre web pero necesito guardar el fichero SOLUCION
Posted: Thu Dec 23, 2021 10:24 AM
Code (fw): Select all Collapse
local oHttp
local cUrl     := "https://apiv2.proveedor.com/api/Tarifa/GetFileV2?user=999999999"
local cRet
oHttp := CreateObject( "MSXML2.XmlHttp" )     // "MSXML2.ServerXMLHTTP.6.0"  ---> mejor usar este
oHttp:Open( "GET", cUrl, .F. )
//oHttp:SetRequestHeader( "Content-Type", "application/x-www-form-urlencoded" )
oHttp:SetRequestHeader( "Connection", "keep-alive" )
oHttp:Send()
oHttp:WaitForResponse( 500000 )
cRet := oOle:ResponseText
if oHttp:status == 200
    ? cRet
   //MemoWrit( "namefile.txt", cRet )
else
   MsgInfo( "Error:" + oHttp:statusText,"Atencion" )
endif


Empieza probando algo asi, y vas viendo lo que te contesta
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces

Continue the discussion