FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Problemas con curl compilado msvc y harbour
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Problemas con curl compilado msvc y harbour
Posted: Sat Jan 18, 2025 08:43 PM
Hola buenas tardes para todos, debido a un problema que se gener贸 con las operaciones en xharbour 64 bits, nos vimos en la necesidad de migrar a harbour y msvc, la verdad no hubi茅ramos querido salir de xharbour pero ese bug si es un problema significativo y parece complicado, ya que ni Antonio, ni Enrico han podido dar con la soluci贸n.

Lo que si determino Enrico, es que es 煤nicamente con xharbour y en 64 bits, por eso la necesidad de migrar.

El post del error en las operaciones, por si alguien quiere consultarlo.
https://forums.fivetechsupport.com/viewtopic.php?t=45315

Por otro lado, ya logramos compilar la aplicaci贸n, pero hay varias cosas que no logramos hacer funcionar, en este post vamos a reportar el problema con la libcurl, montamos este ejemplo para ver si alguien nos puede ayudar, tampoco sabemos si hace falta agregar alguna lib o dll.

El codigo:
#include "FiveWin.ch"
#include "hbcurl.ch"

function Main()
	recuperainfo() //Con el este c贸digo funciona, lo montamos para comprobar que el endpoint est谩 funcionando.
	recuperainfocurl()  //Pero con curl no arranca.
return nil

Function recuperainfo()
Local aHasRes
Local hInfo := {=>}
Local response := nil
Local cUrl := "https://hymplus.com/factura/ws_msvc.php"
Local cAno := transform(year(date()),"9999")

IF !IsInternet()
	msginfo("No Se Pudo Comprobar La Conexi贸n a Internet")
ELSE
	user := "hymlymatest"
	pass := "HymTestLeo"   //TEMPORAL
	cBas64 := hb_base64encode(user+":"+pass,len(user+":"+pass))

	//NIT DEL AUTORIZADO
	hInfo["ano"] = cAno
	hInfo["usua"] := user
	hInfo["pass"] := pass

	enviar := hb_jsonEncode( hInfo )	

	ohttp := CreateObject( "MSXML2.XMLHTTP" )
	ohttp:Open( "POST" ,cUrl,.F.)
	oHttp:SetRequestHeader("cache-control", "no-cache")
	ohttp:SetRequestHeader("content-type", "application/json" )
	ohttp:SetRequestHeader("authorization", "Basic "+cBas64 )
	TRY
	  ohttp:Send(enviar)
	CATCH
		msginfo("No Se Pudo Enviar Solicitud")
	END
	response := ohttp:responseText
	
	if valtype(response)!="U"
		aHasRes := hash()
		hb_jsondecode(response ,@aHasRes)
		if valtype(aHasRes)="U"
			aHasRes := {=>}
		endif
	else
		msginfo("Respuesa del servidor no valida")
	endif
	
	xbrowse(aHasRes,"SIN CURL")
	
ENDIF
return nil 

Function recuperainfocurl()
Local aHasRes,enviar,oCurl
Local hInfo := {=>}
Local response := nil
Local cUrl := "https://hymplus.com/factura/ws_msvc.php"
Local cAno := transform(year(date()),"9999")
Local aHeader := {} 

IF !IsInternet()
	msginfo("No Se Pudo Comprobar La Conexi贸n a Internet")
ELSE
	user := "hymlymatest"
	pass := "HymTestLeo"   //TEMPORAL
	cBas64 := hb_base64encode(user+":"+pass,len(user+":"+pass))

	AADD(aHeader,"Authorization: Basic "+cBas64 )
	AADD(aHeader,"Content-Type: application/json")
	AADD(aHeader,"cache-control: no-cache")

	//NIT DEL AUTORIZADO
	hInfo["ano"] = cAno
	hInfo["usua"] := user
	hInfo["pass"] := pass
	enviar := hb_jsonEncode( hInfo )	

	oCurl = curl_easy_init()
	
	IF !EMPTY( cUrl )
		curl_easy_setopt( oCurl, HB_CURLOPT_URL, cUrl )
		curl_easy_setopt( oCurl, HB_CURLOPT_DL_BUFF_SETUP )
		curl_easy_setopt( oCurl, HB_CURLOPT_SSL_VERIFYPEER, 0 )
		curl_easy_setopt( oCurl, HB_CURLOPT_POSTFIELDS, enviar )
		curl_easy_setopt( oCurl, HB_CURLOPT_CUSTOMREQUEST , "POST")
		curl_easy_setopt( oCurl, HB_CURLOPT_HTTPHEADER, aHeader )		

		IF CURL_EASY_PERFORM( oCurl ) == 0
			response = curl_easy_dl_buff_get( oCurl )
		ENDIF
		
		curl_easy_cleanup( oCurl )
	
	ENDIF	
	
	aHasRes := hash()
	
	hb_jsondecode(response ,@aHasRes)
	if valtype(aHasRes)="U"
		aHasRes := {=>}
	endif
	
	xbrowse(aHasRes,"USANDO LA CURL")
	
ENDIF
return nil
El resultado


La carpeta con los archivos con los que generamos el ejecutable
https://hymplus.com/descargas/cmplar_test_64.zip

Gracias de antemano
Saludos
LEANDRO AREVALO
Bogot谩 (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Problemas con curl compilado msvc y harbour
Posted: Sun Jan 19, 2025 03:54 PM
Querido Leandro,

> ya que ni Antonio, ni Enrico han podido dar con la soluci贸n.

https://forums.fivetechsupport.com/viewtopic.php?p=277029#p277029
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Problemas con curl compilado msvc y harbour
Posted: Sun Jan 19, 2025 07:01 PM
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Re: Problemas con curl compilado msvc y harbour
Posted: Sun Jan 19, 2025 10:52 PM
Antonio Linares wrote: Querido Leandro,

> ya que ni Antonio, ni Enrico han podido dar con la soluci贸n.

https://forums.fivetechsupport.com/view ... 29#p277029
Antonio muchas gracias como siempre por tan eficiente ayuda. Alcance a entrar en p谩nico jejejejejejeje :oops: :oops: :oops: :oops:
Saludos
LEANDRO AREVALO
Bogot谩 (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]

Continue the discussion