libcurl yana haɗa tsarin wakili zuwa easy handle da ke yin canja wurin. Sanya adireshin mai shiga tsakani a kan wannan handle, yayin barin CURLOPT_URL a matsayin URL na manufa.

Wannan ɓangaren yana ɗauka cewa an fara libcurl kuma handle ingantaccen easy handle ne:

char error[CURL_ERROR_SIZE] = {0};
CURLcode result;

result = curl_easy_setopt(handle, CURLOPT_ERRORBUFFER, error);
if (result == CURLE_OK)
    result = curl_easy_setopt(handle, CURLOPT_URL,
                              "https://example.com/");
if (result == CURLE_OK)
    result = curl_easy_setopt(handle, CURLOPT_PROXY,
                              "http://proxy.example:8080");
if (result == CURLE_OK)
    result = curl_easy_perform(handle);

if (result != CURLE_OK)
    fprintf(stderr, "%s\n", error[0] ? error
                                  : curl_easy_strerror(result));

Riƙe buffer ɗin kurakurai da rai muddin handle ɗin yana magana da shi. Kafin barin iyakarsa, share handle ɗin ko maye gurbin ko share mai nuni na CURLOPT_ERRORBUFFER. Sunan mai masaukin wakilin misali ne; ɗan takara marar tabbaci daga jerin wakilan HTTP zai iya samar da adireshin don wannan gwajin na dandalin jama'a. Yi amfani da tsarinsa da tasharsa na gaske, kuma duba ko yana ba da izinin ramin HTTPS.

Manufa ta HTTPS na iya amfani da wakilin HTTP. libcurl yana kula da ramin don wannan canja wurin HTTPS. http:// a cikin zaɓin wakili yana bayyana haɗin zuwa mai shiga tsakani. Canza shi zuwa https:// kawai don ƙarshen wakili wanda da gaske yake karɓar TLS da ginin libcurl da ke tallafa masa.

Ka mai da hanyar da ke aiki da gangan

Zaɓin wakili bayyananne yana wuce saitin muhallin wakili mai dacewa. Ketare wani yanke shawara ne daban: no_proxy da aka gada zai iya har yanzu ware manufar. Idan wannan handle dole ya yi amfani da wakilin da aka zaɓa don kowace manufa da aka ba shi, tsara CURLOPT_NOPROXY a matsayin zaren fanko a cikin wannan manufar.

Sabanin haka, saita CURLOPT_PROXY zuwa zaren fanko yana kashe amfani da wakili a fili. Saita shi zuwa NULL yana cire aikin bayyananne kuma yana ba da izinin halin da ya dogara da muhalli kuma. Waɗannan dabi'u biyu suna hidima ga dalilai daban-daban.

Kanun manufa na musamman kamar Content-Type: text/xml ba ya zaɓar wakilin. Ƙara shi kawai lokacin da ainihin jikin buƙatar da API na manufa ke buƙatar irin wannan kafofin watsa labarai.

Karanta sakamakon HTTP kuma

curl_easy_perform mai nasara ba ya nufin gidan yanar gizon ya mayar da matsayin HTTP mai nasara. Karanta CURLINFO_RESPONSE_CODE kuma yi amfani da kulawar matsayi na aikace-aikacen. Amsar CONNECT ta wakili tana da nata darajar, CURLINFO_HTTP_CONNECTCODE; ƙin rami yana zuwa gaban kowace amsa ta gidan yanar gizo.

CURLOPT_FAILONERROR na iya ɗaukar yawancin kurakuran HTTP a matsayin gazawa, amma takardunsa ya ambaci keɓewar tabbatarwa. Ka ware ƙalubalen 407 na wakili daga matsayin manufar.

Labarai masu alaƙa