Saludos Desde Venezuela;
Quisiera saber si alguien tiene ejemplos de uso de hb_curl con FWH.
Gracias de antemano.
Mario Antonio Gonz谩lez Osal
Venezuela
m a g 0 7 1 @ g m a i l. c o m
Venezuela
m a g 0 7 1 @ g m a i l. c o m
Saludos Desde Venezuela;
Quisiera saber si alguien tiene ejemplos de uso de hb_curl con FWH.
Gracias de antemano.
聽 聽 聽 聽 聽MsgWOn( 'Contactando Agencia Tributaria...' )
聽 聽 聽 聽 聽curl_global_init()
聽 聽 聽 聽 聽IF ! Empty( curl := curl_easy_init() )
聽 聽 聽 聽 聽 聽 cTexto:= MemoRead(cFileName)
聽 聽 聽 聽 聽 聽 tmp1 := '<T3030'+cEjercicio+'0A0000><AUX>'+Space(300)+'</AUX><VECTOR>001FIN'+Space(294)+'</VECTOR>'+;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 urlencode( cTexto ) +'</ T3030'+cEjercicio+'0A0000>'
// variables POST
聽 聽 聽 聽 聽 聽 tmp := 'HID=IE13030B&TIA='+If(oRB:TipoDecl$'UG','I',oRB:TipoDecl)+'&NDC='+AllTrim(DatTrib->NIF)+'&NRC=&ING=&NRR=&ICO=&NR1=&IN1=&NR2=&IN2=&NR3=&IN3=&NR4=&IN4=&NR5=&IN5=&NR6=&IN6=&NR7=&IN7=&IDI=ES&F01='+tmp1+;
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽'&TXT=&FIR=&FIN=F&EJF='+cEjercicio+'&MOD=303&PRG=EWLINKPS'
聽 聽 聽 聽 聽 聽 #include "hbcurl.ch"
聽 聽 聽 聽 聽 聽 curl_easy_setopt( curl, HB_CURLOPT_DOWNLOAD )
聽 聽 聽 聽 聽 聽 curl_easy_setopt( curl, HB_CURLOPT_URL, "https://www2.agenciatributaria.gob.es/es13/l/zi21zilk0021")
聽 聽 聽 聽 聽 聽 curl_easy_setopt( curl, HB_CURLOPT_POSTFIELDS, tmp)
聽 聽 聽 聽 聽 聽 curl_easy_setopt( curl, HB_CURLOPT_SSL_VERIFYPEER, .f. )
聽 聽 聽 聽 聽 聽 curl_easy_setopt( curl, HB_CURLOPT_SSL_VERIFYHOST, .f. )
聽 聽 聽 聽 聽 聽 curl_easy_setopt( curl, HB_CURLOPT_DL_BUFF_SETUP )
聽 聽 聽 聽 聽 聽 if curl_easy_perform( curl ) == 0
聽 聽 聽 聽 聽 聽 聽 聽MsgWOff()
聽 聽 聽 聽 聽 聽 聽 聽tmp := curl_easy_dl_buff_get( curl )
聽 聽 聽 聽 聽 聽 聽 聽If left( tmp, 4 ) == '%PDF'
聽 聽 聽 聽 聽 聽 聽 聽 聽 Memowrit( 'm303.pdf', tmp )
聽 聽 聽 聽 聽 聽 聽 聽 聽 If MsgYesNo( 'Desea ver el borrador generado?' )// Sociedades O Domiciliacion
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽ShellExecute( , "Open", 'm303.pdf' )
聽 聽 聽 聽 聽 聽 聽 聽 聽 EndIf
聽 聽 聽 聽 聽 聽 聽 聽Else
聽 聽 聽 聽 聽 聽 聽 聽 聽 If 'Err[' $ tmp // Hay una lista de errores
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽tmp:= SubStr( tmp, AT( 'Err[', tmp ) )
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽aLista := ListAsArray( SubStr( tmp, AT( 'Err[', tmp ) ), ';', .T. )
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽aSize( aLista, 20 )
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽tmp:= 'Lista de Errores'+CRLF
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽For i:= 1 To Len( aLista )
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 aLista[i] := SubStr( aLista[i], AT( "'", aLista[i] )+1 )
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 aLista[i] := Left( aLista[i], Len( aLista[i] ) - 1 )
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 if !Empty( aLista[i] )
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽tmp+= CRLF + aLista[i]
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 endif
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽EndFor
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽MsgAlert( tmp )
聽 聽 聽 聽 聽 聽 聽 聽 聽 Else
聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽MsgAlert( tmp, 'Error en el procesamiento de la AEAT' )
聽 聽 聽 聽 聽 聽 聽 聽 聽 EndIf
聽 聽 聽 聽 聽 聽 聽 聽EndIf
聽 聽 聽 聽 聽 聽 Else
聽 聽 聽 聽 聽 聽 聽 聽MsgInfo( 'Problemas en la comunicaci贸n' )
聽 聽 聽 聽 聽 聽 EndIf
聽 聽 聽 聽 聽 聽 curl_easy_reset( curl )
聽 聽 聽 聽 聽Else
聽 聽 聽 聽 聽 聽 MsgInfo( 'Problemas para inicializar conexiones' )
聽 聽 聽 聽 聽EndIf
聽 聽 聽 聽 聽MsgWOff()
聽 聽 聽 聽 聽curl_global_cleanup()Gracias Carlos
Por el ejemplo y la explicacion.
Carlos,
Por favor, 驴podr铆as indicarme d贸nde conseguir informaci贸n para generar el modelo 303 via internet?.
Si pudieras poner el ejemplo completo ser铆a de mucha utilidad.
Mil gracias.