by cnavarro » Sat Mar 02, 2019 1:22 am
With Curl
- Code: Select all Expand view
#ifndef HBCURL_CH_
#define HB_CURLOPT_URL 2
#define HB_CURLOPT_HEADER 42
#define HB_CURLOPT_HTTPHEADER 23
#define HB_CURLOPT_ACCEPT_ENCODING 102
#define HB_CURLOPT_DL_BUFF_SETUP 1008
#define HB_CURLOPT_ENCODING HB_CURLOPT_ACCEPT_ENCODING
#endif
//----------------------------------------------------------------------------//
Function WebWithCurl()
local hResponse
local cUrl := cBaseUrl + cUrlAccess
local cResponse
cResponse := CurlRequest( cUrl )
hb_jsonDecode( cResponse, @hResponse )
XBrowse( hResponse )
Return nil
//----------------------------------------------------------------------------//
Function CurlRequest( cUrl )
local oCurl
local cResult
local cTextSend
curl_global_init()
oCurl := curl_easy_init()
if !empty( oCurl )
curl_easy_setopt( oCurl, HB_CURLOPT_HEADER, 0 )
curl_easy_setopt( oCurl, HB_CURLOPT_ENCODING, "UTF-8" )
curl_easy_setopt( oCurl, HB_CURLOPT_HTTPHEADER, 'Content-Type: application/json' )
curl_easy_setopt( oCurl, HB_CURLOPT_DL_BUFF_SETUP )
cTextSend := "database=" + curl_easy_escape( oCurl, "fivetech_webservice" ) + "&"
cTextSend += "username=" + curl_easy_escape( oCurl, "fivetech_test" ) + "&"
cTextSend += "password=" + curl_easy_escape( oCurl, "webservice" ) + "&"
cTextSend += "sql=" + curl_easy_escape( oCurl, "SELECT * FROM `users`" )
curl_easy_setopt( oCurl, HB_CURLOPT_URL, cUrl + "?" + cTextSend )
cResult := curl_easy_perform( oCurl )
if Empty( cResult )
cRet := curl_easy_dl_buff_get( oCurl )
else
cRet := StrZero( cResult, 5 ) + " " + curl_easy_strerror( cResult )
endif
curl_easy_reset( oCurl )
curl_easy_cleanup( oCurl )
endif
curl_global_cleanup()
Return cRet
//----------------------------------------------------------------------------//
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