libcurl ferbynt de proxy-konfiguraasje oan it easy handle dat de transfer útfiert. Set it adres fan de tuskenpersoan op dat handle, wylst CURLOPT_URL de bestimming-URL bliuwt.

It folgjende fragmint giet derfan út dat libcurl inisjalisearre is en dat handle in jildich easy handle is:

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));

Hâld de flaterbuffer libben wylst it handle dêrnei ferwiist. Foardat jo syn berik ferlitte, romje it handle op of ferfange of wiskje syn CURLOPT_ERRORBUFFER-wizer. De proxy-hostnamme is in plakhâlder; in net-autentisearre kandidaat út 'e HTTP-proxy-list kin it adres leverje foar dizze test fan in iepenbiere side. Brûk syn werklike skema en poarte, en kontrolearje oft it de HTTPS-tunnel tastean.

In HTTPS-bestimming kin in HTTP-proxy brûke. libcurl beheart de tunnel foar dy HTTPS-transfer. De http:// yn 'e proxy-opsje beskriuwt de ferbining mei de tuskenpersoan. Feroarje it nei https:// allinnich foar in proxy-einpunt dat eins TLS akseptearret en in libcurl-bou dat dat stipet.

Meitsje de effektive rûte bewust

In eksplisite proxy-opsje oerskriuwt de oerienkommende proxy-omjouwingsynstelling. Omgean is in aparte beslissing: in erfd no_proxy kin de bestimming noch altyd útslute. As dit handle de keazen proxy brûke moat foar elke bestimming dy't it krijt, konfigurearje CURLOPT_NOPROXY as in lege tekenrige as part fan dy belied.

Oarsom, it ynstellen fan CURLOPT_PROXY op in lege tekenrige skeakelet proxy-gebrûk eksplisyt út. It ynstellen op NULL ferwideret de eksplisite tawizing en lit wer omjouwing-basearre gedrach ta. Dy twa wearden tsjinje ferskillende doelen.

In doelspesifike kop lykas Content-Type: text/xml selektearret de proxy net. Foegje it allinnich ta as it werklike oanfraachlichem en de bestimming-API dat mediaype nedich hawwe.

Lês ek it HTTP-resultaat

In suksesfolle curl_easy_perform betsjut net dat de webside in suksesfolle HTTP-status weromjoech. Lês CURLINFO_RESPONSE_CODE en pas de statusbehanneling fan 'e applikaasje ta. It CONNECT-antwurd fan 'e proxy hat syn eigen wearde, CURLINFO_HTTP_CONNECTCODE; in tunnel-ôfwizing komt foar elk antwurd fan 'e webside.

CURLOPT_FAILONERROR kin in soad HTTP-flatten as mislearring behannelje, mar syn dokumintaasje neamt autentikaasje-útsûnderingen. Hâld de 407-útdaging fan in proxy apart fan 'e status fan' e bestimming.

Relatearre artikelen