CLIENT URL (cURL)

Katika somo hili utakwenda kujifunza kuhusu curl. Hii ni php library ambayo tutaigusia kwa ufupi kulingna na matarajio ya course hii. Baada ya kujifunza somo hili itakuwa reahisi kuelewa somo ambalo litafuata baada ya hili.

 

cURL: 

Ni kifupisho cha maneno Client url. Hii ni njia ambayo hutumika kwa ajili ya kusafirisha taarifa kutoka kwenye server ama kuelekea kwenye server. Inafanya kazi kwa kupitia clibrary. 

 

curl inafanya kazi kwenye platform nyingi ikiwepo window, web, linux na zaidi. Kwa mfano kwa kutumia command line kwenye window unaweza ku access taarifa kwenye database kwa kutumia curl. Pia unaweza kutuma na kupokea taarifa hizo. 

 

curl inafanya kazi vyema kupitia API hata hivyo sio lazima. Unaweza kutumia curl kwenye website kwa ajili ya ku load kurasa fulani kwenye kurasa nyingine. Nitakupa mfano hapo chini. 

 

Kwa kutumia curl unaweza kuwasiliana na website mbalimbali na domain. Kwa kutumia curl unaweza kuwasiliana na server na kusafirisha taarifa kwa kutumia url. 

 

 

Mfano wa curl:

$url = "https://www.bongoclass.com/";

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($ch);

echo $result;

curl_close($ch);

?>

 

Ukiangalia vyema hapo utaona kuwa cURL ipo katika namna hii:

  1. Kwanza ni mwanzo wa curl ambapo utaweka variable zako. Kwa mfano katika mfano hapo juu variable nilioweka ni ukurasa wa menu wa bongoclass. Hivyo hiyo link itafunguwa ukurasa huo moja kwa moja.

 

  1. Baada ya kuweka variable sasa itawacha cURL ama uta initiate hii tunaita kuanzisha session ama session start. Huu ndio mwanzo wa curl inapoanza kufanya kazi. Bila ya kuiwasha haiwezi kufanya kazi. Sasa ili uweze kuiwasha utaanza na finction hii curl_init(); kama ulivyoona hapo juu. Sasa utaanza na kuiwekea variable yake ili uweze kuitumia huko mbele kama nilivyofanya hapo juu ambapo nimeipa variable $ch, unaweza kuipa jina lolote unalotaka. Hiyo ch ina maana cURL Handler.

 

  1. Hapa sasa ndipo unapoanza nini hasa unataka kufanya. Function ya curl_setopt  hutumika kuweka option zinazohitajika katika kuload data kutoka kwenye server. Function hiyo inabeba parameta 3 ambazo ni cURL handler ambayo ni $ch kwa mujibu wa hizo code hapo, parameter nyingine ni option hapa huwekwa taarifa zingine za ziada, kisha parameter nyingine ni option. Option inaweza kuwa 0  au 1. Kama ikiwa 0 hairudishi data, ila ikiwa 1 inarudisha data. Value zinaweza kuwa zaidi hapo kutoka 0 na kuendelea na kila moja ina maana yake.

 

  1. Kwanza tutaanza kwa kupitisha parameter zetu kwenye curlsetopt() parameter hizo ni kama tulivyoona hapo juu ambazo  $ch, CURLOPT_URL  na $url  hiyi curlopt_url ni option ambayo huhusika katika kuiambia library ya curl kusafirisha maudhui yapi. Hivyo function itaonekana hivi curl_setopt($ch, CURLOPT_URL, $url)

 

  1. Kisha hatuwa inayofata ni kuweka kuweka value, hatuw ahii sio ya lazima sana kwenye mfano wetu tuliotumia hap juu. Hata hivyo inaumuhmu wake. Sasa kama nilivyokuambia kuwa value inaweza kuwa 1 ama 0. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);Hii CURLOPT_RETURNTRANSFER hutumika katika kurejesha matokeo (return value) ya code zitakaztumika.

 

  1. Hatuwa nyingine ya umuhimu ni kupata output ya code zako. Hapa tutatumi function nyingine ambayo ni curl_exec()  itakuwa na arameter moja ambayo ni curl handler kama tulivyoitumia hapo juu curl_exec($ch)

  2. Hatuwa ya mwisho ni kufunga session. Kama nilivyokueleza curl haifanyikazi mpaka iwashwe. Ila kwenye kufunga ni hiyari yako sio lazima. Ila ni muhimu kuifunga ili kupunguza matumizi ya resources zaidi kwnye server. Kufunga url tunatumia curl_close ambapo itabeba parameter ile ile ya $ch. Hivyo code zitaonekana hivi curl_close($ch)

Uki run code hizo zitafunguwa ukurasa wa bongoclass kama link hapo juu livyo. Kwa kutumia cURL unaweza ku download mafaili kwenye server. Unaweza kufanya mengi zaidi. Nakuwekea link kwa ajili ya kusoma zaidi somo hili. 

 

Kwa ajili ya ku download mafaili

$ch = curl_init("https://www.bongoclass.com/");

$fp = fopen("sampo.png", "w+");

 

curl_setopt($ch, CURLOPT_FILE, $fp);

curl_setopt($ch, CURLOPT_HEADER, 0);

 

curl_exec($ch);

if(curl_error($ch)) {

   fwrite($fp, curl_error($ch));

}

curl_close($ch);

fclose($fp);

 

Soma zaidi

  1. https://www.geeksforgeeks.org/php-curl/

  2. https://www.geeksforgeeks.org/download-file-from-url-using-php/

  3. https://www.javatpoint.com/php-curl

  4. https://medium.com/ph-devconnect/copying-files-from-server-to-server-using-php-and-curl-e5d08368c56b

 

MWISHO:

Kwa manufaa ya somo hili tutaishia hapa, lengo la somo ni kukufahamisha kuhusu habari hii ya cURL na kukuletea mifano. Pia kukupa matumizi yake na umuhimu wake. Tukutane somo linalofuata, tutajifunza kuhusu jinsi ya kutuma sms kwa kutumia PHP.