Hola buenas tardes para todos, estamos haciendo algunos cambios en la app para implementar el uso de la lib curl, pero no encontramos como capturar el error en caso que se genere, me explico:
Anteriormente los hacíamos así:
En la variable cError capturábamos el error y en la variable response la respuesta de la petición
Ahora que estamos usando curl, queremos capturar el error, pero no sabemos como, aquí el código:
en la variable response logramos recuperar la respuesta de manera correcta, pero como capturamos el error en caso de hubiese? donde debemos colocar el try catch?
De antemano gracias si alguien nos puede ayudar.
Anteriormente los hacíamos así:
ohttp := CreateObject( "MSXML2.XMLHTTP" )
ohttp:Open( "POST" , ::urlenvio ,.F.)
oHttp:SetRequestHeader("cache-control", "no-cache")
ohttp:SetRequestHeader("content-type", "application/json" )
ohttp:SetRequestHeader("authorization", "Basic "+cBas64 )
TRY
ohttp:Send( ::cdnaJson )
response := ohttp:responseText
CATCH oError
cError := "Error: " + cValToChar( oError:GenCode) + ;
" SubC: " + cValToChar( oError:GenCode) + " OSCode: " + cValToChar( oError:GenCode) + CRLF + ;
"SubSystem: " + cValToChar( oError:SubSystem ) + CRLF + "Envio de CURL: " + oError:Description
exito := {.f.,cError}
return exito
ENDAhora que estamos usando curl, queremos capturar el error, pero no sabemos como, aquí el código:
AADD(aHeader,"Authorization: Basic "+cBas64 )
AADD(aHeader,"Content-Type: application/json")
AADD(aHeader,"cache-control: no-cache")
oCurl = curl_easy_init()
curl_easy_setopt( oCurl, HB_CURLOPT_URL, ::urlenvio )
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, ::cdnaJson )
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 )De antemano gracias si alguien nos puede ayudar.
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) ]
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) ]